Fehlerhafte Reihenfolge der GAD SSL-Zertifikate

 
dominik42
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 25
Dabei seit: 03 / 2009
Betreff:

Fehlerhafte Reihenfolge der GAD SSL-Zertifikate

 · 
Gepostet: 09.11.2012 - 16:14 Uhr  ·  #1
Hallo,

heute bin wieder auf den
Fehler bei der SSL-Zertifikatsprüfung
, gestossen, über den ich hier bereits berichtet
hatte. Es scheint nun sicher, daß es tatsächlich an der Reihenfolge der gesendeten Zertifikate liegt.

Hier nochmal die Fakten:
Ich versuche eine -Hibiscus/HBCI4Java unabhängige- SSL-Verbindung zu hbci-pintan.gad.de:443 aufzubauen. Das funktioniert
unter SunJDK, schlägt jedoch -die meiste Zeit- unter OpenJDK mit der Meldung fehl:
Code

sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: 
Path does not chain with any of the trust anchors


Zur Analyse des Datenverkehrs nutze ich die beiden Tools SSLPoke und InstallCert.
Bei eingeschaltetem SSL Debug (-Djavax.net.ssl.debug=ssl) kann man die Reihenfolge der
gesendeten Zertifikate erkennen. Im Fehlerfall, wird folgende Reihenfolge angezeigt:

Code

chain [0] = [
  Subject: CN=HBCI-PINTAN.GAD.DE, OU=PRDSYSINT, O=GAD EG, L=MUENSTER, ST=NRW, C=DE

chain [1] = [
  Subject: CN=Baltimore CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE

chain [2] = [
  Subject: CN=VR IDENT SSL CA 2011, OU=VR IDENT, O=GAD EG, C=DE

chain [3] = [
  Subject: CN=VR IDENT EXTERNAL ROOT CA 2011, OU=VR IDENT, O=GAD EG, C=DE


Unter SunJDK konnte die SSL-Verbindung auch bei dieser Reihenfolge der Zertifikate aufgebaut werden ! Der o.g. Fehler ist niemals aufgetreten.
Wenn es jedoch auch unter OpenJDK klappte (sporadisch), dann zeigte sich eine andere Reihenfolge der gesendeten Zertifikate:

Code

chain [0] = [
  Subject: CN=HBCI-PINTAN.GAD.DE, OU=PRDSYSINT, O=GAD EG, L=MUENSTER, ST=NRW, C=DE

chain [1] = [
  Subject: CN=VR IDENT SSL CA 2011, OU=VR IDENT, O=GAD EG, C=DE

chain [2] = [
  Subject: CN=VR IDENT EXTERNAL ROOT CA 2011, OU=VR IDENT, O=GAD EG, C=DE

chain [3  ] = [
  Subject: CN=Baltimore CyberTrust Root, OU=CyberTrust, O=Baltimore, C=IE



Ich vermute daher, daß der Zertifikats-Check unter OpenJDK strenger implementiert ist
und auch die Reihenfolge berücksichtigt ... scheinbar sogar in Übereinstimming mit der Spezifikation.

Zur Kontrolle habe ich dann Jameica/Hibiscus unter OpenJDK neu installiert und gestartet. Lege ich nun einen entsprechenden GAD-relevanten Bankzugang an erscheint der Dialog der den Nutzer auffordert, das Zertifikat von HBCI-PINTAN.GAD.DE zu bestätigen. Hier wurde die geworfene SSLException so interpretiert, dass dem Nutzer das -von OpenJDK abgelehnte- Zertifikat zur Bestätigung präsentiert wird. Unter SunJDK erscheint dieser Dialog nicht, da ja in der darunterliegenden Schicht, die SSL-Exception nicht auftrat.

Ich habe nun erstmal auf dem System (Ubuntu 12.04) das SunJDK installieren lassen, damit laufen die Geschäftsvorfälle wieder und ein -Hibiscus/HBCI4Java unabhängiges- SSL Connect zur GAD klappt wieder.

Kommen wir nun jedoch zum eigentlichen Anliegen, der Reihenfolge der Zertifikate wie sie der/die GAD Server ausliefert. Können die hier akkreditierten GAD Mitarbeiter dieser Sache einmal nachgehen
da mir die Ursache des o.g. SSL-Fehlers in der Konfiguration der GAD Systeme zu liegen scheint.

Mit freundlichen Grüßen
Dominik Hirt
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10838
Dabei seit: 03 / 2005
Betreff:

Re: Fehlerhafte Reihenfolge der GAD SSL-Zertifikate

 · 
Gepostet: 10.11.2012 - 23:17 Uhr  ·  #2
Respekt! Schoene Analyse.

Allerdings kann ich mir nicht so richtig erklaeren, wie sich die Reihenfolge der Zertifikate sporadisch aendern kann. Auf der Seite des Servers ist das doch sicher eine einzelne Zertifikats-Datei, in der die ganze Chain drin ist.

Als moegliche Ursache fuer sporadisch falsch sortierte Zertifikate kann ich mir eigentlich nur vorstellen, dass

a) das SSL auf GAD-Seite nicht von einem zentralen Load-Balancer ausgeliefert wird sondern von jedem Server dahinter. Und bei einem davon ist die Zertifikatsdatei "verwuerfelt"

b) oder auf Client-Seite werden die Zertifikate beim Parsen in einer Datenstruktur abgelegt, die nicht fuer die Reihenfolge garantieren kann (eine Map vielleicht?).

Sind aber nur Spekulationen.
dominik42
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 25
Dabei seit: 03 / 2009
Betreff:

Re: Fehlerhafte Reihenfolge der GAD SSL-Zertifikate

 · 
Gepostet: 27.11.2012 - 08:58 Uhr  ·  #3
Gewählte Zitate für Mehrfachzitierung:   0