gpt4 book ai didi

java - 获取证书链

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:30:02 29 4
gpt4 key购买 nike

我在 Java 中使用 X509 证书。 给定一个证书,是否可以在到达根证书之前找到签名层次结构中的所有其他证书?

我有一个证书文件(扩展名为 .cer),我想提取父签名证书。我想继续查找该证书的父级,直到获得最终的自签名根证书。

我检查了 java.security.cert 中的 X509Certificate 证书 API 和相关 API,但找不到任何有用的东西。

最佳答案

这并不难 - 假设您以某种方式/带外获得了一个或多个钥匙串(keychain)中的所有中间证书和根证书。

看看

http://codeautomate.org/blog/2012/02/certificate-validation-using-java/

一个代码片段就是这样做的。关键位在 validateKeyChain() 中,基本上由

   cert = cert-to-validate
while(not self signed) {
extract issuer from cert
scan keychain(s) to find cert with a subject equal to the issuer
if none found - error
check if the signature is correct.
cert = issuers_cert
}
if not at the top/root - error

至于如何您获得中间/根证书 - 那是一个不同的问题。请注意,此代码有点幼稚 - 并且不太了解交叉签名。尽管 java pkix 调用 - BouncyCaSTLe 有一个示例。

您通常可以将根证书构建到 key 链中;但中间证书通常需要“收集”或更动态地发现。这通常需要在 TLS 或类似期间查询 SSL 堆栈。

关于java - 获取证书链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11097375/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com