Se produjo otro problema al utilizar SSL y Tomcat: configuré un almacén de claves que contiene una clave y un certificado (el certificado del servidor que deseo presentar a los clientes que se conectan al sitio). He hecho lo mismo para el almacén de confianza (voy a necesitar autenticación de cliente).Certificado de almacén de claves Tomcat HTTPS
El problema que tengo ahora es que cuando me conecto a mi instancia de Tomcat a través de HTTPS, el certificado presentado a mí (el certificado del servidor) no es mi certificado de servidor real, sino más bien la clave en el almacén de claves JKS. El uso de -Djavax.net.debug = ssl revela que presenta la CA correcta para la autenticación del cliente, pero no el certificado del servidor correcto.
adding as trusted cert: Subject: CN=A Issuer: CN=A Algorithm: RSA; Serial number: - Valid from Tue Nov 10 14:48:31 CET 2009 until Mon Feb 08 14:48:31 CET 2010 adding as trusted cert: Subject: X Issuer: X Algorithm: RSA; Serial number: - Valid from Wed Jan 19 01:00:00 CET 2005 until Mon Jan 19 00:59:59 CET 2015
He reemplazado los valores reales con marcadores de posición. A = el nombre de dominio del servidor (pero en este caso, por alguna razón, esta es la clave y no el certificado). X = a VeriSign CA (esto debería ser correcto). Tengo un certificado existente que me gustaría usar para presentar a los clientes, que importé en un almacén de claves JKS utilizando keytool.
La configuración del conector Tomcat:
Connector port="444" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/ssl/keystore.jks" keystorePass="xx" keyAlias="testkey" truststoreFile="conf/ssl/truststore.jks" truststorePass="xx"
Alguna idea de por qué mi instancia de Tomcat no presenta el certificado correcto?
dar la configuración del conector ssl (del servidor.xml) – Bozho