Falsche Kennung des Autoritätsschlüssels auf dem Endzertifikat von openssl

3

Ich erhalte interessante Ergebnisse beim Signieren eines Endserverzertifikats mit einer Zwischenzertifizierungsstelle unter Verwendung von openssl.

Ich habe eine Stammzertifizierungsstelle, die so aussieht:

Serial Number: 14296918985177649921 (0xc668dc11960d5301)
Issuer: C=US, ST=xROOTx, L=xROOTx, O=xROOTx, CN=xROOTx
Subject: C=US, ST=xROOTx, L=xROOTx, O=xROOTx, CN=xROOTx
X509v3 Subject Key Identifier:
  1A:E5:27:E9:EF:2F:90:A7:13:91:1A:12:A9:3A:1D:AE:BA:1E:B8:35

Welches hat eine Zwischenzertifizierungsstelle unterzeichnet, die so aussieht:

Serial Number: 0 (0x0)
Issuer: C=US, ST=xROOTx, L=xROOTx, O=xROOTx, CN=xROOTx
Subject: C=US, ST=xINTERx, O=xINTERx, CN=xINTERx
X509v3 Authority Key Identifier:
  keyid:1A:E5:27:E9:EF:2F:90:A7:13:91:1A:12:A9:3A:1D:AE:BA:1E:B8:35
  DirName:/C=US/ST=xROOTx/L=xROOTx/O=xROOTx/CN=xROOTx
  serial:C6:68:DC:11:96:0D:53:01
X509v3 Subject Key Identifier:
  16:BF:D6:2F:0D:58:A5:C3:84:95:4B:F6:FE:27:3E:0B:79:0C:6F:04

Und wenn ich das End-Server-Zertifikat unterschreibe, erhalte ich Folgendes:

Serial Number: 1 (0x1)
Issuer: C=US, ST=xINTERx, O=xINTERx, CN=xINTERx
Subject: C=US, ST=xENDx, O=xENDx, CN=xENDx
X509v3 Authority Key Identifier:
  keyid:16:BF:D6:2F:0D:58:A5:C3:84:95:4B:F6:FE:27:3E:0B:79:0C:6F:04
  DirName:/C=US/ST=xROOTx/L=xROOTx/O=xROOTx/CN=xROOTx
  serial:00
X509v3 Subject Key Identifier:
  3B:86:64:4B:80:EE:BF:92:0D:A9:D6:FD:8C:FD:DD:FF:55:55:C6:11

Dies zeigt die richtige KeyId und Serial von der Zwischenzertifizierungsstelle, aber den falschen DirName, der aus irgendeinem Grund der DN der Stammzertifizierungsstelle ist.

Huckle
quelle

Antworten:

2

Das ist normal.

Der DirName im Authority Key Identifier ist eigentlich der Subject Name des Emittenten des Emittenten. Das bloße Einbeziehen des Betreffs des Ausstellers würde das Duplizieren der im Zertifikat bereits verfügbaren Aussteller-DN bedeuten.

Diese häufig gestellte Frage wird auch in den OpenSSL-FAQ beantwortet

Kaffee-Affe
quelle
Die Spezifikation macht das wirklich nicht klar. Der erste Satz ist ziemlich eindeutig, aber der zweite Satz scheint darauf hinzudeuten, dass es sich um den Namen des Ausstellers und die Seriennummer des Signaturzertifikats handeln sollte. Die Hälfte davon sind doppelte Informationen, aber die Seriennummer ist nicht doppelt vorhanden und wird benötigt, um den richtigen Schlüssel auszuwählen, wenn für einen bestimmten Emittenten viele vorhanden sind. (RFC2459, Abschnitt 4.2.1.1) "Die Identifizierung kann entweder auf der Schlüsselkennung (der Schlüsselkennung des Antragstellers im Zertifikat des Ausstellers) oder auf dem Namen und der Seriennummer des Ausstellers basieren."
Huckle