Possuo o seguinte cenário:
Comprei 1 certificado + 1 chave privada da ICP Brasil. Preciso adiciona-los ao tomcat para que meus sites contidos nele trabalhem com ssl (https). Como fazer?
== Criando keystore ==
Para ativar o ssl no tomcat, antes deve ser criado o chamado "keystore", que é um arquivo criptografado onde o tomcat guarda todos os certificados de forma segura. Para cria-lo e manipula-lo o comando "keytool" deve ser usado. Ao importar um certificado pela primeira vez, o keystore é criado.
#importando certificados raiz da ICPBrasil
# esses certificados foram baixados de http://acraiz.icpbrasil.gov.br/ICP-Brasil.crt
keytool -import -trustcacerts -alias icpbrasil1 -file /etc/tomcat6/certificados/icpbrasil1.pem -keystore /usr/share/tomcat6/.keystore #quando executado pela primeira vez, cria o keystore
keytool -import -trustcacerts -alias icpbrasil2 -file /etc/tomcat6/certificados/icpbrasil2.pem -keystore /usr/share/tomcat6/.keystore #adicionando certificado em keystore ja existente
keytool -import -trustcacerts -alias icpbrasil3 -file /etc/tomcat6/certificados/icpbrasil3.pem -keystore /usr/share/tomcat6/.keystore #adicionando certificado em keystore ja existente
== Convertendo certificado + chave privada para formato DER ==
Para adicionar o certificado + chave privada que comprei, é necessário converte-los para o formato DER.
#convertendo certificado e chave do formato pem para der
openssl pkcs8 -topk8 -nocrypt -in chave.pem -inform PEM -out chave.der -outform DER #convertendo chave pem para der
openssl pkcs8 -topk8 -nocrypt -in certificado.pem -inform PEM -out certificado.der -outform DER # convertendo certificado pem para der
== Adicionando a dupla certificado + chave privada ao keystore ==
Infelizmente o tomcat possui uma "gambiarra" para adicionar a chave privada ao keystore: é necessário utilizar uma classe chamada ImportKey para importar a dupla para o tomcat. Para baixar, compilar e usar a classe, siga os comandos abaixo:
wget http://www.startux.de/images/phocadownload/importkey.java
mv importkey.java ImportKey.java #o nome do arquivo tem que ser igual ao nome da classe
javac ImportKey.java #compilando
java ImportKey chave.der certificado.der ALIAS_QUALQUER /usr/share/tomcat6/.keystore SENHA_DO_KEYSTORE #java ImportKey keyfile certfile [alias] [keystore] [keystore_passphrase]
== Configurando server.xml ==
Em "/etc/tomcat6/server.xml" adicione as seguintes linhas para habilitar o uso do keystore e do HTTPs:
clientAuth="false" sslProtocol="TLS"
keystorePass="SENHA_DO_KEYSTORE" />
Reinicie o tomcat
/etc/init.d/tomcat6 restart
Nenhum comentário:
Postar um comentário