Home » SSL
Archiv der Kategorie: SSL
SSL debuggen
-Djavax.net.debug=ssl
Fehler: SunCertPathBuilderException: unable to find valid certification path to requested target (SSL handshake)
Fehler:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Lösung
In dem mir vorliegenden Fall musste die ein CA-Certifikat (welches das vom Server vorgezeigte Certifikat beglaubit) in den lokalen Truststore zugefügt werden.
–> Im vorliegenden Fall kann sich der Server nicht beim Caller authentifizieren.
Debugging-Möglichkeit:
-Djavax.net.debug=all
(In der Run-Config z.B. der Tomcat-Instanz)
Das bewirkt, dass interessantes geloggt wird unter: org.apache.cxf.transport.http.HTTPConduit
Auszüge davon:
Die Certificate-Chain
*** Certificate chain chain [0] = [ [ Version: V3 Subject: CN=myserver.hps.com, OU=Server, OU=CA, O=UBS, C=CH ... AuthorityInfoAccess [ [ accessMethod: caIssuers accessLocation: URIName: http://certinfo-http.hps.com/aia/HPS_Server_CA_Test_3.crt ... ] SubjectAlternativeName [ DNSName: hps.alternative.server.com ... ] ] chain [1] = [ [ Version: V3 Subject: CN=HPS Server CA Test 3, OU=CH 027, OU=CA, O=UBS, C=CH ... ]
Unter „AuthorityInfoAccess“ wird für das Certifikat ausgewiesen, durch welches andere Certifikat es beglaubigt ist. Jenes Certifikat ist auch weiter unten noch separat ausgewisen.
Das „SubjectAlternativeName“ weist alterntiven Addressen aus, für welche dieses Zertifikat als „Ausweis“ dienen kann. Alternatife zu jenem, welches in parameter „subject“ definiert ist.
Die folgende Zeile sagt, dann „certificate_unknown„, was darauf hin deutet, dass die CA (HPS Server CA Test 3) (das Ende der oben beschribenen Chain nicht bekannt is. Das heisst sie ist nicht in unserem TrustStore vorhanden.
http-apr-8080-exec-9, SEND TLSv1 ALERT: fatal, description = certificate_unknown
SSL Auswahl der vorgewiesenen Zertifikate
Welches Zertifikat wird beim SSL-Handshake vorgewiesen?
Das auszuweisende Certifikat wird über den Parameter „keyStoreAlias“ definiert.
Es entspricht im KeyStore einem Eintrag mit
Aliasname: meinServer.hps.com