Recetas · Servidores de Aplicaciones

Certificados de cliente y servidor para conexión SSL con Tomcat

SSL Logo
Para generar un certificado podríamos hacer lo siguiente (sustituyendo los valores apropiados para el sistema real):

  • Borramos el antiguo (si es que existe):
    %JAVA_HOME%\bin\keytool -delete -alias tomcat -keypass changeit
  • Generamos el nuevo certificado de nombre «tomcat» (con esto Tomcat ya encontraría el certicado para poder arrancar con el conector SSL activado):
    %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keypass changeit -keyalg RSA
    NOTA: cuando pregunte el nombre y apellido es necesario especificar «localhost» para que todo funcione bien ya que esto se convertirá en el Common Name (CN) que debe ser el nombre de tu host para que el verificador de nombres de host de Sun valide correctamente -de otro modo lanzará una excepción javax.servlet.ServletException: HTTPS hostname wrong: should be <localhost>-
  • Exportamos el certificado para poder instalarlo en el equipo cliente:
    %JAVA_HOME%\bin\keytool -export -alias tomcat -keypass changeit -file server.crt
  • Importamos el certificado del servidor Tomcat en el equipo cliente:
    %JAVA_HOME%\bin\keytool -import -file server.crt -keypass changeit -keystore %JAVA_HOME%/jre/lib/security/cacerts

Algunos enlaces de interés
help:::HTTPS hostname wrong: should be <localhost>
Using axis with https and a self signed certificate
keytool – Key and Certificate Management Tool
Enterprise Java Bean over SSL
Portecle
Configuring SSL on IBM WebSphere 6.0x