【发布时间】:2013-04-18 07:33:18
【问题描述】:
我正在使用:java.security.cert.X509Certificate 包。和 java.security.cert.X509CRL;
当我得到扩展值时,例如当 OID=2.5.29.14 时(它是 SubjectKeyIdentifier) cert.getExtensionValue("2.5.29.14"); 我得到这个 byte[] 范围:
[4,22,4,20,5,125,-118,106,-44,108,39,-74,-108,-20,-27,-32,-113,64,-69,125,-8,102 ,-52,-24]
当我在证书中看到时,SubjectKeyIdentifier 从 5 开始。
问题 1:这个范围的开头是什么?它是 4 个字节。
当我在 X509CRL 中看到 AuthorityKeyIdentifier(如果 CRL 由该证书签名,则 CRL 的 AuthorityKeyIdentifier == 证书的 SubjectKeyIdentifier)有相同的:
[4,24,48,22,-128,20,5,125,-118,106,-44,108,39,-74,-108,-20,-27,-32,-113,64, -69,125,-8,102,-52,-24] 但开头还有另外 6 个字节。
问题 2:这个范围的开头是什么?它是 6 字节。
还有一个问题:
问题 3:如何解析 ExtensionValue 以便仅获取 Identifier 值。这个 4 和 6 字节是固定的吗?解析的最佳方式是什么?
【问题讨论】:
-
或者如何使用 bouncycastle 做到这一点?
标签: java certificate ssl-certificate x509certificate bouncycastle