javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No hay nombres alternativos de sujeto presentes

Básicamente, tengo un servidor de prueba (basado en Linux) con un bot de IP público sin nombre de host público. Así que estoy tratando de crear certificados ssl para ello usando la dirección IP. Para que mi aplicación Java pueda acceder a otra aplicación usando la dirección IP: por ejemplo, como:

https://210.10.10.10:8443/abc

Seguí el siguiente post:¿Cómo se resuelven los nombres del servidor de certificados SSL / puedo agregar nombres alternativos usando keytool?

Intenté las dos formas sugeridas para evitar esta excepción, pero no funciona. Estoy teniendo el mismo error.

Intenté editar el "openssl.cnf" y agregar el:

 [req]
  req_extensions = v3_req

 [ v3_req ]

  # Extensions to add to a certificate request
  subjectAltName=IP:210.10.10.10
  # or subjectAltName=DNS:www.example.com

  basicConstraints = CA:FALSE
  keyUsage = nonRepudiation, digitalSignature, keyEncipherment

2. Y también probé el uso de Java 1.7 keytool:

Me gusta crear (creado en Windows con java 1.7 y copiado todos los archivos certs y jks en el env del servidor Linx, ejecutándose en java 1.6):

    keytool -importkeystore -deststorepass changeit -destkeypass changeit -destkeystore myServerKeystore2.jks -srckeystore serverCertAsPK12.p12  -srcstoretype PKCS12 -alias servercertificate -ext SAN=ip:210.10.10.10

La configuración de mi entorno es la siguiente: El servidor es Linux (CentOS), Tomcat 6, JDK 1.6, la aplicación es JAVA La aplicación utiliza Openssl para crear todos los certificados y JKS

Aún obteniendo java.security.cert.CertificateException: No hay nombres alternativos de sujeto Excepción.

Luego intenté crear los archivos JKS e importarlos al archivo javastore predeterminado (cacerts) usando la herramienta keytool (en Java 1.7 env) en Windows Machine y exporté estos archivos JKS y cacert a un servidor Linux.

Entonces, también sigue recibiendo java.security.cert.CertificateException: No hay nombres alternativos de sujeto Excepción.

------- Actualizado a continuación el 19 de junio en respuesta a Bruno ---------

A continuación se muestra la configuración de mi servidor tomcat.xml:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           truststoreFile="/usr/local/apache-tomcat-6.0.37/conf/cacerts.jks" truststorePass="changeit"
           keystoreFile="/usr/local/apache-tomcat-6.0.37/conf/myServerKeystore2.jks" keystorePass="changeit"
           clientAuth="false" sslProtocol="TLS" />

Donde "cacerts.jks" es mi archivo de almacén de claves del cliente y "myServerKeystore2.jks" es mi archivo de almacén de claves del servidor.

He seguido cada paso eneste tutorial para crear certificados ssl utilizando openssl.

Por favor ayuda.

Respuestas a la pregunta(0)

Su respuesta a la pregunta