首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取证书链

获取证书链
EN

Stack Overflow用户
提问于 2012-06-19 08:37:45
回答 1查看 5.9K关注 0票数 7

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

我有一个证书文件(具有.cer扩展名),我想提取父签名证书。我希望一直找到该证书的父证书,直到得到最终的根证书,该证书是自签名的。

我已经检查了X509Certificate证书API和java.security.cert中的相关API,但没有发现任何有用的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-23 13:20:47

这并不难--假设您已经在一个或多个密钥链中获得了所有中间证书和根证书。

看一下

代码语言:javascript
复制
http://codeautomate.org/blog/2012/02/certificate-validation-using-java/

一段代码就能做到这一点。关键位在validateKeyChain()中,基本上由

代码语言:javascript
复制
   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调用- BouncyCastle有一个例子。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11097375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档