Cómo instalar certificados SSL firmados por CA en Tomcat 8

Cómo instalar certificados SSL firmados por CA en Tomcat 8

Tengo 2 certificados firmados por CA. Quiero habilitar SSL en Tomcat usando estos certificados.

Ejecuté los siguientes comandos para crear un archivo jks e importé los certificados a ese archivo jks.

1. keytool -genkey -alias bmark.com -keyalg RSA -keystore keystore.jks
2. keytool -import -alias root -keystore keystore.jks -trustcacerts -file b32dasd75493.crt
3. keytool -import -alias intermed -keystore keystore.jks -trustcacerts -file sf_bundle-g2-g1.crt

Y habilitó https en server.xml de tomcat

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="/Users/test/Desktop/keystore.jks" keystorePass="changeme"/>

Inicié Tomcat y abrí la URL.https://bmark.com:8080en Chrome pero afirma que el certificado SSL firmado por una CA no es confiable, afirma que está autofirmado. ¿Necesito otros archivos además de estos? ¿Cómo puedo resolver este problema?

Respuesta1

Para verificar si la respuesta de CA se instaló correctamente, ejecute:

keytool -list -keystore /Users/test/Desktop/keystore.jks -alias bmark.com -v

Debería mostrarle su cadena de certificados desde la hoja hasta la raíz.

En la definición de su conector no especificó elalias de clave, por lo que se utiliza el primer certificado encontrado. Cámbielo a:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"
           keystoreFile="/Users/test/Desktop/keystore.jks"
           keystorePass="changeme"
           keyAlias="bmark.com" />

o, si estás usandoTomcat 8.5(no deberíasutilizar Tomcat 8.0), cambie a la nueva configuración SSL:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" scheme="https" secure="true" SSLEnabled="true">
    <SSLHostConfig protocols="TLS">
        <Certificate certificateKeystoreFile="/Users/test/Desktop/keystore.jks"
                     certificateKeystorePassword="changeme"
                     certificateKeyAlias="bmark.com" />
    </SSLHostConfig>
</Connector>

Editar: Para instalar los tres certificados solo necesitas un archivo con tu certificado y los intermedios en orden desde el raíz hasta la raíz y ejecutar:

keytool -importcert -keystore /Users/test/Desktop/keystore.jks\
-alias bmark.com -file <chain_file> -trustcacerts

o puede insertarlo por separado desde la raíz hasta el tallo.

información relacionada