【发布时间】:2015-08-22 05:35:50
【问题描述】:
假设我有 p12 容器的私钥和公共证书。当我使用 Java keytool 将 p12 公共证书导出到单独的 .cer 文件时,我可能会单击 .cer 文件并查看完整的证书链。如何以编程方式获取完整路径?
我几乎没有做任何调查。我使用了 keytool 的 print cert -v 命令并看到了属性 AuthorityInfoAccess 和子属性
accessMethod: caIssuers
accessLocation: URIName: http://.../some.crt
我下载了 some.crt(它是 PEM 证书),并再次使用 print cert -v 并再次看到
accessLocation: URIName: http://.../some2.crt 并重复下载 .crt 文件并获取父级,直到到达没有此类属性的根 .crt。
我认为,我应该按照上面描述的方式以编程方式下载链并将其提供给 CertPathValidator,如 here 所示。
如果我真的需要如上所述获取链,是否有任何库已经这样做了?有什么办法可以用 std lib 做到这一点?我没有找到 bouncycastle 示例和 java 的标准库代码,如
java.security.cert.Certificate[] cchain = keystore.getCertificateChain(alias);
返回一个实际有 2 个“父母”的证书条目。
【问题讨论】:
-
请将您的帖子缩小到一个问题。
-
@DeerHunter,我排除了一些问题。
标签: certificate certificate-authority java validation