Solución:
Sin Indicación de nombre de servidor (SNI), que no es compatible con Java (6), necesita un certificado por dirección IP.
Puede configurar Tomcat para utilizar varios conectores, con diferentes direcciones IP y certificados, utilizando el atributo de dirección.
Por ejemplo:
<Connector
port="8443" maxThreads="200" address="10.0.0.1"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="keystore1.jks" keystorePass="..."
clientAuth="false" sslProtocol="TLS"/>
<Connector
port="8443" maxThreads="200" address="10.0.0.2"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="keystore2.jks" keystorePass="..."
clientAuth="false" sslProtocol="TLS"/>
También puede utilizar el mismo almacén de claves, si lo necesita, y utilizar el keyAlias
atributo (en Connector
) para decirle al conector qué clave / certificado usar (según el nombre de alias en el almacén de claves).
No estoy seguro, aquí si “SNI” es realmente relevante.
Pero en su caso, la solución típica sería la llamada ssloffloading o ssl Termination: es decir, coloque su tomcat detrás de un apache, que se configuró para usar múltiples vhosts / nombres de dominio en la misma ip. Puede configurar para cada vhost en apache para usar su propio certificado SSL.
Hay una guía paso a paso para este tema aquí:
http://milestonenext.blogspot.de/2012/09/ssl-offloading-with-modjk-part-1.html