web-dev-qa-db-ja.com

openssl終了証明書の権限キー識別子が正しくありません

Opensslを使用して中間CAを使用してエンドサーバー証明書に署名すると、興味深い結果が得られます。

私は次のようなルートCAを持っています:

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

これは、次のような中間CAに署名しています。

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

そして、エンドサーバー証明書に署名すると、次のようになります。

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

これは、中間CAからの正しいKeyIdとSerialを示していますが、間違ったDirNameを示しています。これは、何らかの理由でルートCAのDNです。

3
Huckle

これは正常な動作です。

Authority Key IdentifierのDirNameは、実際には発行者の発行者のサブジェクト名です。発行者のサブジェクトを含めるだけで、証明書ですでに使用可能な発行者DNが複製されます。

これはよくある質問であり、 OpenSSL FAQ でも回答されています。

2
Coffee Monkey