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.