Hoy le doy gracias a uno de los arquitectos de aplicaciones mas sencillos, dinamicos, recursivos e inteligentes que conozco. Se preguntarán porque, porque gracias a El en el día de hoy tenemos este contenido para poder montar trabajar con certificados SSL en TOMCAT. bueno, jejeje, despues del lambetazo entonces pasemos al documento que muy gentilmente me proporcionó el compañero Diego.
Como montar un certificado generado para IIS en tomcat
despues de recibir el certificado de nuestra entidad certificadora
hacemos copy paste del mismo y lo guardamos en un archivo .cer certificado.cer
despues de esto se deben bajar los certificados medios de la siguiente pagina (para un certificado tipo secure site)
https://knowledge.verisign.com/support/ssl-certificates-support/index?page=content&id=AR1735
esta pagina puede variar de acuerdo al tipo de certificado comprado, para mayor informacion
aca se puede encontrar o comprobar el tipo de certificado
https://knowledge.verisign.com/support/ssl-certificates-support/index?page=content&actp=CROSSLINK&id=SO13499
aca se encuentran los certificados medios de acuerdo al tipo de certificados
https://knowledge.verisign.com/support/ssl-certificates-support/index?page=content&id=AR657
despues de seleccionar los certificados medios correctos creamos 2 archivos .p7b, primary.pb7 y seconday.p7b
Nota: verificar al hacer copy paste que no queden espacios en blanco en los archivos de los certificados.
ya teniendo nuestros 3 archivos .p7b procedemos a instalar los certificados
para instalar los certificados intermedios vamos al paso 5
https://knowledge.verisign.com/support/ssl-certificates-support/index?page=content&actp=CROSSLINK&id=SO8227
abrimos una consola cmd, ahi digitamos mmc.
seleccionamos add/remove snap in
seleccionamos certificates-> computer account-> local computer -> finish
ahi en intermediate certification authorities en la carpeta certificates hacemos click derecho->all tasks->import
importamos el certificado primary.p7b y secondary.p7b
despues procedemos a importar nuestro certificado firmado en el IIS, para esto vamos a la consola IIS manager,
aca nos paramos en el servidor y seleccionamos la opcion server certificates,
ahi seleccionamos complete certificate request y elegimos el archivo a importar certificado.cer
si sale algun error podemos importar el certificado de la misma forma que los intermedios, luego exportamos el certificado en formato pfx,
despues volvemos a la pestaña server certificates he importamos el archivo punto pfx
en este punto ya el certificado puede ser usado en el IIS y agregado al dominio respectivo.
Ahora procederemos con las transformaciones de los certificados para ser usados en el tomcat
como primera medida exportamos los certificados desde la consola mmc, se debe exportar el certificado firmado en un archivo con su correspondiente llave privada,
en otra se exportara el mismo certificado pero sin la llave privada,
y como 3 archivo se deben exportar los certificados intermedios
para esto selecionamos el certificado damos click derecho y en all tasks->export
despues de realizado tendremos que tener 3 archivos .pfx como se ve a continuacion
certificate.pfx
certificatewithkey.pfx
intermediate.pfx
con estos archivos ahora procederemos ha hacer la conversion de los mismos usando openssl a archivos .pem
openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
openssl pkcs12 -in intermediate.pfx -out intermediate.pem -nodes
despues generamos la llave privada desde el certificatewithkey.pfx
openssl pkcs12 -in certificatewithkey.pfx -nocerts -out privateKey.pem
removemos la autenticacion de la llave privada
openssl rsa -in privateKey.pem -out privateKeyWithoutPwd.pem
removemos la encripcion de la llave privada
openssl pkcs8 -topk8 -nocrypt -in privateKeyWithoutPwd.pem -inform PEM -out tmp.der -outform DER
openssl pkcs8 -nocrypt -in tmp.der -inform DER -out privateKeyNoEncrypt.pem -outform PEM
despues de generadas las llaves procedemos a configurar el tomcat
para esto agregamos las libreria APR openssl.exe y tcnative-1.dll en la carpeta bin donde esta instalado el tomcat y en el windows/system32
http://tomcat.heanet.ie/native/1.1.10/binaries/win32/
se debe modificar el archivo apache-tomcat-7.0.26-windows-x64\apache-tomcat-7.0.26\conf\server.xml
agregando la siguiente informacion
maxThreads="150" scheme="https" secure="true"
SSLCACertificateFile="C:\cert\intermediate.pem"
SSLCertificateFile="C:\cert\certificate.pem"
SSLCertificateKeyFile="C:\cert\privateKeyNoEncrypt.pem"
clientAuth="false" sslProtocol="TLSv1" />
despues de agregada esta informacion es necesario reiniciar el tomcat.