| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2007 09:52:34
|
rdbarbosa
Smalltalk
Membro desde: 13/07/2007 09:49:25
Mensagens: 1
Offline
|
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
Exemplo:
========
Comando
-------
keytool -genkey -alias certificado -keyalg RSA -keystore C:\Certificado\Keystore\definaonome.kdb
Preenchimento dos dados
-----------------------
What is your first and last name? *This is the Common Name Field - The Fully Qualified Domain Name MUST be entered here*
[Unknown]: www.dominio.com.br
What is the name of your organizational unit?
[Global Sign]: Razão da Empresa
What is the name of your organization?
[Global Sign]: Razão da Empresa
What is the name of your City or Locality?
[London]: Cidade
What is the name of your State or Province?
[London]: Estado
What is the two-letter country code for this unit?
[GB]: País
Notas
-----
* 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.
* 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.
* 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.
* No comando é utilizado o parâmetro -alias certificado, quando receber o certificado da certificadora, o certificado deverá ser importado para o alias certificado.
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-----
Exemplo:
========
Comando
-------
keytool -certreq -keyalg RSA -alias certificado -file C:\Certificado\Keystore\definaonome.csr -keystore C:\Certificado\Keystore\nomedefinidonocomando1.kdb
Notas
-----
* No comando é utilizado o parâmetro -alias certificado, este alias obviamente tem que ser o mesmo alias utilizado no comando do passo 1.
* 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.
* A senha solicitada na execução do comando a senha do keystore que foi cadastrada no comando do passo 1.
3. Efetuar o pedido online do certificado juntamente com a certificadora seguindo as instruções do próprio site.
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.
Exemplo:
========
Comandos
--------
keytool -import -keystore C:\Certificado\Keystore\nomedefinidonocomando1.kdb -alias Root -trustcacerts -file C:\Certificado\Certificadora\root.cer
keytool -import -keystore C:\Certificado\Keystore\nomedefinidonocomando1.kdb -alias Primary -trustcacerts -file C:\Certificado\Certificadora\intermediario.cer
Notas
-----
* Sempre começar pelo root, e depois ir seguindo a sequência.
* Os certificados raízes estão disponíveis no site das certificadoras.
* Os certificados raízes deverão ser importados para o keystore gerado no comando do passo 1.
* A senha solicitada na execução do comando a senha do keystore que foi cadastrada no comando do passo 1.
* Cada certificado raiz é importado para um alias diferente.
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.
Exemplo:
========
Comando
-------
keytool -import -trustcacerts -keystore C:\Certificado\Keystore\nomedefinidonocomando1.kdb -alias certificado -file C:\Certificado\Certificadora\meucertificado.cer
Notas
-----
* A senha solicitada na execução do comando a senha do keystore que foi cadastrada no comando do passo 1.
* 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.
6. É interessante visualizar os certificados instalados (importados) no keystore, para conferir o sucesso da instalação.
Exemplo:
========
Comando
-------
keytool -list -keystore C:\Certificado\Keystore\nomedefinidonocomando1.kdb -v > C:\Certificado\list.txt
Keystore type: jks
Keystore provider: SUN
Your keystore contains 3 entries
Alias name: client
Creation date: 12/07/2007
Entry type: keyEntry
Certificate chain length: 3
*******************************************
*******************************************
Alias name: root
Creation date: 12/07/2007
Entry type: trustedCertEntry
*******************************************
*******************************************
Alias name: primary
Creation date: 12/07/2007
Entry type: trustedCertEntry
*******************************************
*******************************************
Notas
-----
* 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.
* A senha solicitada na execução do comando a senha do keystore que foi cadastrada no comando do passo 1.
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.
Exemplo:
========
Configuração
------------
Editar o arquivo C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\server.xml
Excluir o trecho abaixo
<!-- Define a SSL HTTP/1.1 Connector on port 8443
This connector uses the JSSE configuration, when using APR, the
connector should be using the OpenSSL style configuration
described in the APR documentation -->
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
Incluir o trecho abaixo
<!-- Define a blocking Java SSL Coyote HTTP/1.1 Connector on port 443 -->
<Connector protocol="org.apache.coyote.http11.Http11Protocol"
port="443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="C:\Certificado\Keystore\nomedefinidonocomando1.kdb" keystorePass="senhadokeystore"
clientAuth="false" sslProtocol="TLS"/>
Alterar tudo que for 8443 para 443, ctrl + h
Salvar e iniciar o servico do tomcat
Notas
-----
* keystoreFile="C:\Certificado\Keystore\nomedefinidonocomando1.kdb" é o caminho do keystore gerado no comando do passo 1.
* keystorePass="senhadokeystore" é a senha do keystore que foi cadastrada no comando do passo 1.
* O Tomcat disponibiliza uma documentação em http://localhost/docs/ssl-howto.html ou http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html, fique atento as instruções pois há uma pegadinha ou um erro na documentação. Na documentação o exemplo é:
<-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<!--
<Connector
port="8443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
SSLCertificateFile="/usr/local/ssl/server.crt"
SSLCertificateKeyFile="/usr/local/ssl/server.pem"
clientAuth="false" sslProtocol="TLS"/>
-->
Mas existem duas coisas que não estão claras
1ª
<-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
A inclusão dessa linha no server.xml não irá funcionar, pois a mesma está comentada de maneira incorreta o certo é:
<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
2ª
<!--
<Connector
clientAuth="false" sslProtocol="TLS"/>
-->
A criação do conector está comentada, ou seja não irá funcionar.
|
Renato Bizzarri |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2007 14:37:47
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 16366
Localização: SP
Offline
|
Sr. Renato...
Só perguntando, porque o post é muito comprido e não o li direito.
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?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2007 15:59:04
|
cado
JavaGuru
![[Avatar]](/images/avatar/013c17ae3d8adf097f5ddd872096b8fe.png)
Membro desde: 28/06/2006 09:54:37
Mensagens: 264
Localização: Curitiba
Offline
|
thingol wrote:Sr. Renato...
Só perguntando, porque o post é muito comprido e não o li direito.
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?
po thingol, nao seria interessante ler o post dele e depois comentar??
Ele fez um mini-tutorial de como fazer para instalar um certificado ssl no windows.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2007 16:58:51
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 16366
Localização: SP
Offline
|
É que ele não tinha sido muito claro.
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.
Mas na verdade ele estava dizendo que a documentação original do Tomcat está com erros.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/07/2007 17:10:08
|
cado
JavaGuru
![[Avatar]](/images/avatar/013c17ae3d8adf097f5ddd872096b8fe.png)
Membro desde: 28/06/2006 09:54:37
Mensagens: 264
Localização: Curitiba
Offline
|
thingol wrote:É que ele não tinha sido muito claro.
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.
Mas na verdade ele estava dizendo que a documentação original do Tomcat está com erros.
É q ultimamente o pessoal anda estressado aqui sabe e me surpreendi quendo vi q era vc que tinha falado aquilo.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/08/2007 18:29:26
|
Gobain
JavaTeenager
![[Avatar]](/images/avatar/80cd71aee683e52c643ad59a03524806.png)
Membro desde: 27/06/2007 13:10:28
Mensagens: 151
Localização: Curitiba
Offline
|
E então pessoal,
To tentando seguir esse how-to aqui, mas cheguei nesse erro... alguma idéia?
|
 |
|
|
 |
|
|