openssl 端证书上的权限密钥标识符不正确

Huc*_*kle 5 certificate openssl ssl-certificate x509 trusted-root-certificates

在使用 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
Run Code Online (Sandbox Code Playgroud)

它签署了一个中间 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
Run Code Online (Sandbox Code Playgroud)

当我签署终端服务器证书时,我得到了这个:

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
Run Code Online (Sandbox Code Playgroud)

这显示了来自中间 CA 的正确 KeyId 和 Serial 但错误的 DirName,出于某种原因,它是根 CA 的 DN。

小智 4

这是正常行为。

Authority Key Identifier中的DirName实际上是Issuer的Subject名称。仅包含颁发者的主题将复制证书中已有的颁发者 DN。

这是一个常见问题,OpenSSL 常见问题解答中也对此进行了解答