Hintergrund:
- Ubuntu Server 14.10 64-Bit auf aws.amazon.com/ec2
- Günstiges PositiveSSL Server Zertifikat von COMODO
- 1 Server-Zertifikat, 2 Zwischen-CA-Zertifikate und 1 Root-CA-Zertifikat als ZIP-Archiv von COMODO
- Zitadelle WebCit httpsd
Problem:
Die verkettete Zertifikatkette scheint korrekt zu sein, die Überprüfung schlägt jedoch fehl.
openssl s_client myhost:port
Zeigt die Zertifikatskette und die Aussteller-Betreff-Paare korrekt in der Kette an, aber:
verify error:num=19:self signed certificate in certificate chain
Das Zertifikat der Stammzertifizierungsstelle wird von openssl nicht akzeptiert, obwohl es standardmäßig im Ubuntu Server Trust Store gefunden wird.
Konkret:
AddTrustExternalCARoot.crt
Per E-Mail von COMODO erhalten und
/etc/ssl/certs/AddTrust_External_Root.pem
welche Links
/usr/share/ca-certificates/mozilla/AddTrust_External_Root.crt
identisch sind.
Was ist hier falsch?
openssl s_client
des HTML-Codes der Seite angezeigt wird und w3m auch die Seite nach der Beschwerde über das nicht vertrauenswürdige Zertifikat anzeigt . Aber Firefox zeigt die Seite einfach nicht an, ohne eine Warnung über das Zertifikat zu erhalten.
openssl verify -CAfile chained.crt chained.crt
openssl noch seltsamer ist: Übergibt "OK" (chained.crt ist das verkettete Zertifikat mit Server-Zertifikat, Zwischenzertifikaten und Root-CA-Zertifikat)! Für mich ist dies ein inkonsistentes und seltsames Verhalten von openssl. Die Zertifikatskette ist korrekt, das letzte Zertifikat befindet sich im Truststore und openssl erkennt es sowohl als einzelnes Zertifikat als auch als CA-Datei, jedoch nicht als letztes in einer Kette. Ist das ein Bug?