<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Instalando um certificado SSL no Tomcat (Windows)"]]></title>
		<link>http://www.guj.com.br/posts/list/6.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Instalando um certificado SSL no Tomcat (Windows)"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Instalando um certificado SSL no Tomcat (Windows)</title>
				<description><![CDATA[ 1. Para adquirir um certificado SSL é necessário gerar uma requisição da assinatura do certificado (CSR - Certificate Signing Request) que é um arquivo criptografado que contém a chave pública, nome, localidade e URL (endereço Web) de sua organização. Na criação de um CSR deverá ser informado um arquivo inexistente em um caminho válido, este arquivo é o Keystore e o CSR é o inicio do Keystore. Para gerar o CSR utilize a ferramenta Keytool do SDK localizada em C:\Program Files\Java\jdk1.5.0_02\bin<br /> <br /> Exemplo:<br /> ========<br /> <br /> Comando<br /> -------<br /> keytool -genkey -alias certificado -keyalg RSA -keystore C:\Certificado\Keystore\definaonome.kdb<br /> <br /> Preenchimento dos dados<br /> -----------------------<br /> What is your first and last name? *This is the Common Name Field - The Fully Qualified Domain Name MUST be entered here* <br /> [Unknown]: www.dominio.com.br<br /> What is the name of your organizational unit?<br /> [Global Sign]: Razão da Empresa<br /> What is the name of your organization?<br /> [Global Sign]: Razão da Empresa<br /> What is the name of your City or Locality?<br /> [London]: Cidade<br /> What is the name of your State or Province?<br /> [London]: Estado<br /> What is the two-letter country code for this unit?<br /> [GB]: País<br /> <br /> Notas<br /> -----<br /> <br /> * Lembrando que o caminho para o Keystore C:\Certificado\Keystore é válido e o arquivo definaonome.kdb não existe e será gerado com o CSR após a execução do comando.<br /> <br /> * Fazer imediatamente um backup do arquivo C:\Certificado\Keystore\definaonome.kdb, pois o certificado será gerado para apenas essa chave plública e no caso de perda do arquivo ocassionando uma nova geração.<br /> <br /> * Na criação do Keystore é solicitado a criação de uma senha, a mesma será utilizada durante todo o processo de implatação do certificado, portando guarde a senha para uma futura consulta.<br /> <br /> * No comando é utilizado o parâmetro -alias certificado, quando receber o certificado da certificadora, o certificado deverá ser importado para o alias certificado.<br /> <br /> 2. A requisição foi gerada dentro do keystore informado, agora é o hora de gerar o arquivo CSR com os dados da requisição que está no keystore. O arquivo será utilizado para efetuar o pedido do certificado juntamente com a certificadora. Algumas certificadoras possibilitam a inclução direta do arquivo na solicitação on-line do certificado e outras disponibilizam um campo para ser incluído o conteúdo do arquivo csr gerado, o conteúdo completo desde -----BEGIN NEW CERTIFICATE REQUEST----- até -----END NEW CERTIFICATE REQUEST-----<br /> <br /> Exemplo:<br /> ========<br /> <br /> Comando<br /> -------<br /> keytool -certreq -keyalg RSA -alias certificado -file C:\Certificado\Keystore\definaonome.csr -keystore C:\Certificado\Keystore\nomedefinidonocomando1.kdb<br /> <br /> Notas<br /> -----<br /> <br /> * No comando é utilizado o parâmetro -alias certificado, este alias obviamente tem que ser o mesmo alias utilizado no comando do passo 1.<br /> <br /> * O caminho para o .csr C:\Certificado\Keystore é válido e o arquivo definaonome.csr não existe e será gerado com após a execução do comando.<br /> <br /> * A senha solicitada na execução do comando a senha do keystore que foi cadastrada no comando do passo 1.<br /> <br /> 3. Efetuar o pedido online do certificado juntamente com a certificadora seguindo as instruções do próprio site.<br /> <br /> 4. Todo certificado SSL segue uma estrutura, uma sequência, que se resume em gerado para e gerado por. Exemplo, o certificado gerado para www.dominio.com.br foi gerado por Certificadora Intermediario e o certificado gerado para Certificadora Intermediario foi gerado por Certificadora Root, portanto para o funcionamento do seu certificado é necessário instalar (importar para o keystore) todos os certificados que fazem parte da estrutura, também conhecidos como raizes do certificado. Obviamente que cada certificadora segue uma estrutura diferente. Para você identificar a estrutura correta do seu certificado (.cer - formato texto) abra o seu certificado (dois cliques), na aba detalhes (mostrar tudo), localize o campo assunto (subject); neste campo estão as informações gerado para, localize o campo emissor (Issuer); neste campo estão as informações gerado por; sendo assim até chegar ao certificado root da certificadora. Enquanto você aguarda da certificadora a validação do seu CSR e a geração do seu certificado podemos ir instalando (importando) as raizes do certificado.<br /> <br /> Exemplo:<br /> ========<br /> <br /> Comandos<br /> --------<br /> <br /> keytool -import -keystore C:\Certificado\Keystore\nomedefinidonocomando1.kdb -alias Root -trustcacerts -file C:\Certificado\Certificadora\root.cer<br /> <br /> keytool -import -keystore C:\Certificado\Keystore\nomedefinidonocomando1.kdb -alias Primary -trustcacerts -file C:\Certificado\Certificadora\intermediario.cer<br /> <br /> Notas<br /> -----<br /> <br /> * Sempre começar pelo root, e depois ir seguindo a sequência.<br /> <br /> * Os certificados raízes estão disponíveis no site das certificadoras.<br /> <br /> * Os certificados raízes deverão ser importados para o keystore gerado no comando do passo 1.<br /> <br /> * A senha solicitada na execução do comando a senha do keystore que foi cadastrada no comando do passo 1.<br /> <br /> * Cada certificado raiz é importado para um alias diferente.<br /> <br /> 5. O seu certificado pode ser enviado de diversas formas pela certificadora, algumas enviam o arquivo .cer .pem .crt e outras encaminham no corpo do e-mail. Para os casos dos arquivos é só salvar o arquivo e instalar (importar), para os casos que o certificado está no corpo do e-mail basta copiar o conteúdo desde -----BEGIN CERTIFICATE----- até -----END CERTIFICATE----- e através do notepad salvar um arquivo com este conteúdo no formato .cer .crt .pem. Com o certificado em mãos é hora de instalar (importar) para o mesmo keystore gerado no comando do passo 1 e para o mesmo alias utilizado no comando do passo 1.<br /> <br /> Exemplo:<br /> ========<br /> <br /> Comando<br /> -------<br /> keytool -import -trustcacerts -keystore C:\Certificado\Keystore\nomedefinidonocomando1.kdb -alias certificado -file C:\Certificado\Certificadora\meucertificado.cer<br /> <br /> Notas<br /> -----<br /> <br /> * A senha solicitada na execução do comando a senha do keystore que foi cadastrada no comando do passo 1.<br /> <br /> * No comando é utilizado o parâmetro -alias certificado, o certificado deverá ser importado para o alias utilizado na criação do CSR no comando do passo 1.<br /> <br /> <br /> 6. É interessante visualizar os certificados instalados (importados) no keystore, para conferir o sucesso da instalação.<br /> <br /> Exemplo:<br /> ========<br /> <br /> Comando<br /> -------<br /> keytool -list -keystore C:\Certificado\Keystore\nomedefinidonocomando1.kdb -v &gt; C:\Certificado\list.txt<br /> <br /> Keystore type: jks<br /> Keystore provider: SUN<br /> <br /> Your keystore contains 3 entries<br /> <br /> Alias name: client<br /> Creation date: 12/07/2007<br /> Entry type: keyEntry<br /> Certificate chain length: 3<br /> <br /> *******************************************<br /> *******************************************<br /> <br /> <br /> Alias name: root<br /> Creation date: 12/07/2007<br /> Entry type: trustedCertEntry<br /> <br /> *******************************************<br /> *******************************************<br /> <br /> <br /> Alias name: primary<br /> Creation date: 12/07/2007<br /> Entry type: trustedCertEntry<br /> <br /> *******************************************<br /> *******************************************<br /> <br /> <br /> <br /> Notas<br /> -----<br /> <br /> * O caminho de saída do comando é válido e o arquivo list.txt não existe e será gerado após a execução do comando.<br /> <br /> * A senha solicitada na execução do comando a senha do keystore que foi cadastrada no comando do passo 1.<br /> <br /> <br /> <br /> 7. Após a devida instalação (importação) do certificado e suas raízes para o keystore é hora de configurar o keystore no Tomcat e habilitar o conector SSL.<br /> <br /> Exemplo:<br /> ========<br /> <br /> Configuração<br /> ------------<br /> <br /> Editar o arquivo C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\server.xml<br /> Excluir o trecho abaixo<br />     &lt;!-- Define a SSL HTTP/1.1 Connector on port 8443<br />          This connector uses the JSSE configuration, when using APR, the <br />          connector should be using the OpenSSL style configuration<br />          described in the APR documentation --&gt;<br />     &lt;!--<br />     &lt;Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"<br />                maxThreads="150" scheme="https" secure="true"<br />                clientAuth="false" sslProtocol="TLS" /&gt;<br />     --&gt;<br /> <br /> Incluir o trecho abaixo<br /> &lt;!-- Define a blocking Java SSL Coyote HTTP/1.1 Connector on port 443 --&gt;<br /> &lt;Connector protocol="org.apache.coyote.http11.Http11Protocol"<br />            port="443" minSpareThreads="5" maxSpareThreads="75"<br />            enableLookups="true" disableUploadTimeout="true" <br />            acceptCount="100"  maxThreads="200"<br />            scheme="https" secure="true" SSLEnabled="true"<br />            keystoreFile="C:\Certificado\Keystore\nomedefinidonocomando1.kdb" keystorePass="senhadokeystore"<br />            clientAuth="false" sslProtocol="TLS"/&gt;<br /> <br /> Alterar tudo que for 8443 para 443, ctrl + h<br /> Salvar e iniciar o servico do tomcat<br /> <br /> Notas<br /> -----<br /> <br /> * keystoreFile="C:\Certificado\Keystore\nomedefinidonocomando1.kdb" é o caminho do keystore gerado no comando do passo 1.<br /> <br /> * keystorePass="senhadokeystore" é a senha do keystore que foi cadastrada no comando do passo 1.<br /> <br /> * O Tomcat disponibiliza uma documentação em <a class="snap_shots" href="http://localhost/docs/ssl-howto.html" target="_blank" rel="nofollow">http://localhost/docs/ssl-howto.html</a> ou <a class="snap_shots" href="http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html," target="_blank" rel="nofollow">http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html,</a> fique atento as instruções pois há uma pegadinha ou um erro na documentação. Na documentação o exemplo é:<br /> <br /> &lt;-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --&gt;<br /> &lt;!--<br /> &lt;Connector <br />            port="8443" minSpareThreads="5" maxSpareThreads="75"<br />            enableLookups="true" disableUploadTimeout="true" <br />            acceptCount="100"  maxThreads="200"<br />            scheme="https" secure="true" SSLEnabled="true"<br />            SSLCertificateFile="/usr/local/ssl/server.crt" <br />            SSLCertificateKeyFile="/usr/local/ssl/server.pem"<br />            clientAuth="false" sslProtocol="TLS"/&gt;<br /> --&gt;<br /> <br /> Mas existem duas coisas que não estão claras<br /> <br /> 1ª<br /> <br /> &lt;-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --&gt;<br /> A inclusão dessa linha no server.xml não irá funcionar, pois a mesma está comentada de maneira incorreta o certo é:<br /> &lt;!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --&gt;<br /> <br /> 2ª<br /> &lt;!--<br /> &lt;Connector <br /> <br />            clientAuth="false" sslProtocol="TLS"/&gt;<br /> --&gt;<br /> <br /> A criação do conector está comentada, ou seja não irá funcionar.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/64549/339413.java</guid>
				<link>http://www.guj.com.br/posts/preList/64549/339413.java</link>
				<pubDate><![CDATA[Fri, 13 Jul 2007 09:52:34]]> GMT</pubDate>
				<author><![CDATA[ rdbarbosa]]></author>
			</item>
			<item>
				<title>Re:Instalando um certificado SSL no Tomcat (Windows)</title>
				<description><![CDATA[ Sr. Renato...<br /> <br /> Só perguntando, porque o post é muito comprido e não o li direito. <br /> <br /> Você está precisando de ajuda (você seguiu o tutorial mas teve algum problema), ou então está dizendo que o tutorial tem algum erro e está comentando sobre os problemas?<br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/64549/339657.java</guid>
				<link>http://www.guj.com.br/posts/preList/64549/339657.java</link>
				<pubDate><![CDATA[Fri, 13 Jul 2007 14:37:47]]> GMT</pubDate>
				<author><![CDATA[ thingol]]></author>
			</item>
			<item>
				<title>Re:Instalando um certificado SSL no Tomcat (Windows)</title>
				<description><![CDATA[ [quote=thingol]Sr. Renato...<br /> <br /> Só perguntando, porque o post é muito comprido e não o li direito. <br /> <br /> Você está precisando de ajuda (você seguiu o tutorial mas teve algum problema), ou então está dizendo que o tutorial tem algum erro e está comentando sobre os problemas?<br /> [/quote]<br /> <br /> po thingol, nao seria interessante ler o post dele e depois comentar??<br /> <br /> Ele fez um mini-tutorial de como fazer para instalar um certificado ssl no windows.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/64549/339710.java</guid>
				<link>http://www.guj.com.br/posts/preList/64549/339710.java</link>
				<pubDate><![CDATA[Fri, 13 Jul 2007 15:59:04]]> GMT</pubDate>
				<author><![CDATA[ cado]]></author>
			</item>
			<item>
				<title>Re:Instalando um certificado SSL no Tomcat (Windows)</title>
				<description><![CDATA[ É que ele não tinha sido muito claro. <br /> Uma vez eu vi um tutorial sobre instalação de certificados no Tomcat, pensei que ele tinha feito um "paste" desse tutorial, e posto um comentário em cima. <br /> Mas na verdade ele estava dizendo que a documentação original do Tomcat está com erros. <br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/64549/339750.java</guid>
				<link>http://www.guj.com.br/posts/preList/64549/339750.java</link>
				<pubDate><![CDATA[Fri, 13 Jul 2007 16:58:51]]> GMT</pubDate>
				<author><![CDATA[ thingol]]></author>
			</item>
			<item>
				<title>Re:Instalando um certificado SSL no Tomcat (Windows)</title>
				<description><![CDATA[ [quote=thingol]É que ele não tinha sido muito claro. <br /> Uma vez eu vi um tutorial sobre instalação de certificados no Tomcat, pensei que ele tinha feito um "paste" desse tutorial, e posto um comentário em cima. <br /> Mas na verdade ele estava dizendo que a documentação original do Tomcat está com erros. <br /> <br /> [/quote]<br /> <br />  <img src="http://www.guj.com.br/images/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0"> <br /> <br /> É q ultimamente o pessoal anda estressado aqui sabe e me surpreendi quendo vi q era vc que tinha falado aquilo.   <img src="http://www.guj.com.br/images/smilies/385970365b8ed7503b4294502a458efa.gif" border="0"> <br /> <br />  <img src="http://www.guj.com.br/images/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0"> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/64549/339758.java</guid>
				<link>http://www.guj.com.br/posts/preList/64549/339758.java</link>
				<pubDate><![CDATA[Fri, 13 Jul 2007 17:10:08]]> GMT</pubDate>
				<author><![CDATA[ cado]]></author>
			</item>
			<item>
				<title>Re:Instalando um certificado SSL no Tomcat (Windows)</title>
				<description><![CDATA[ E então pessoal,<br /> <br /> To tentando seguir esse how-to aqui, mas cheguei nesse erro... alguma idéia?<br /> <br /> [code]<br /> 17/08/2007 15:22:28 org.apache.coyote.http11.Http11BaseProtocol start<br /> SEVERE: Error starting endpoint<br /> java.io.IOException: Cannot recover key<br />         at org.apache.tomcat.util.net.jsse.JSSE14SocketFactory.init(JSSE14SocketFactory.java:126)<br />         at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:89)<br />         at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:293)<br />         at org.apache.tomcat.util.net.PoolTcpEndpoint.startEndpoint(PoolTcpEndpoint.java:313)<br />         at org.apache.coyote.http11.Http11BaseProtocol.start(Http11BaseProtocol.java:151)<br />         at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:76)<br />         at org.apache.catalina.connector.Connector.start(Connector.java:1090)<br />         at org.apache.catalina.core.StandardService.start(StandardService.java:457)<br />         at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)<br />         at org.apache.catalina.startup.Catalina.start(Catalina.java:552)<br />         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />         at java.lang.reflect.Method.invoke(Method.java:597)<br />         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)<br />         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)<br /> <br /> [/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/posts/preList/64549/352979.java</guid>
				<link>http://www.guj.com.br/posts/preList/64549/352979.java</link>
				<pubDate><![CDATA[Fri, 17 Aug 2007 18:29:26]]> GMT</pubDate>
				<author><![CDATA[ Gobain]]></author>
			</item>
	</channel>
</rss>