it-swarm.com.de

Wie funktioniert ein SSL-Zertifikatkettenbündel?

Ich habe eine solche Kettenhierarchie erstellt.

root-ca ==> signing-ca ==> subordinate-ca ==> server

Es wird erwähnt, dass Kettenbündel erzeugt werden sollen, wobei das niedrigste zuerst gehen soll.

$ cat server.crt subordinate-ca.crt signing-ca.crt > server.pem

Die Überprüfung schlägt jedoch fehl.

$ openssl verify -CAfile root-ca.crt server.pem
error 20 at 0 depth lookup:unable to get local issuer certificate

Wenn ich jedoch die Reihenfolge ändere, scheint es zu funktionieren.

$ cat signing-ca.crt subordinate-ca.crt server.crt > server.pem
$ openssl verify -CAfile root-ca.crt server.pem
server.pem: OK

Also, was wäre der Fehler hier?

Die Kette nach "Katze" sieht wie folgt aus.

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

Weitere Informationen: Laut " http://www.herongyang.com/crypto/openssl_verify_2.html " führe ich den folgenden Test durch, der funktioniert.

$ cat signing-ca.crt subordinate-ca.crt > inter.crt
$ openssl verify -CAfile root-ca.crt -untrusted inter.crt server.crt
server.crt: OK

Bedeutet das, dass alle Links gut sind?

OK, ich stelle endlich fest, dass dies nicht über die OpenSSL-Befehlszeile (oder zumindest einfach) möglich ist. http://openssl.6102.n7.nabble.com/check-certificate-chain-in-a-pem-file-td43871.html

45
user180574

Die ursprüngliche Reihenfolge ist in der Tat rückwärts. Zertifikate sollten gefolgt von dem ausstellenden Zertifikat sein, bis das letzte Zertifikat von einem bekannten Stamm ausgestellt wurde ( IETF RFC 5246, Abschnitt 7.4.2

Dies ist eine Folge (Kette) von Zertifikaten. Das Zertifikat des Absenders MUSS an erster Stelle in der Liste stehen. Jedes nachfolgende Zertifikat MUSS das vorhergehende direkt zertifizieren.

Siehe auch SSL: Fehler: 0B080074: x509-Zertifikatsroutinen: X509_check_private_key: Schlüsselwerte stimmen nicht überein zur Fehlerbehebung.

Aber ich weiß immer noch nicht, warum sie die Spezifikation geschrieben haben, damit die Reihenfolge zählt.

13
Vynce