Wystąpił inny problem przy użyciu SSL i Tomcat: Skonfigurowałem magazyn kluczy, który zawiera klucz i certyfikat (certyfikat serwera, który chcę przedstawić klientom łączącym się z witryną). Zrobiłem to samo dla magazynu zaufanych certyfikatów (będę potrzebować uwierzytelniania klienta).Tomcat HTTPS certyfikat magazynu kluczy
Problem mam teraz jest to, że po podłączeniu do mojego instancji Tomcat poprzez HTTPS, świadectwo przedstawił mnie (certyfikat serwera) nie jest mój rzeczywisty certyfikat serwera, lecz klucz w magazynie kluczy JKS. Użycie opcji -Djavax.net.debug = ssl ujawnia, że przedstawia prawidłowy urząd certyfikacji w celu uwierzytelnienia klienta, ale nie zawiera poprawnego certyfikatu serwera.
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
Zastąpiłem prawdziwe wartości posiadaczami miejsc. A = nazwa domeny serwera (ale w tym przypadku z jakiegoś powodu jest to klucz, a nie certyfikat). X = VeriSign CA (powinno to być poprawne). Mam istniejący certyfikat, który chciałbym wykorzystać do przedstawienia klientom, który zaimportowałem do magazynu kluczy JKS za pomocą keytool.
Tomcat konfiguracji złącze:
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"
Każdy pomysł, dlaczego moje wystąpienie Tomcat nie prezentuje odpowiedniego certyfikatu?
podać konfigurację złącza ssl (z pliku server.xml) – Bozho