Java - 获取证书链

时间:2010-09-22 19:37:48

标签: java validation x509certificate chain

我有一个用Base64编码的证书----- BEGIN 证书 - - - MIIGezCCBWOgAwIBA ....,如何获取证书路径中出现的根证书和中间证书!

1 个答案:

答案 0 :(得分:0)

之前我遇到过同样的问题。你看,证书有一个Issuer字段,它有发行人的主题 您可以比较它,或/并且您可以测试签名。只有CA才能验证证书的签名 像这样:

//load all the ca certificates and get their public keys
caCertificate.getIssuerDN().equals(caCertificate[i].getSubjectDN());
// OR/AND

try {
   verifySignature(certificate,
        caCertificate[i].getPublicKey());
    //issuer found
}
catch (Exception e) {
    // not the issuer
}

我没有测试代码,但你明白了。

编辑:

java中有一些专门用于验证链的类。其中一个是CertPathBuilder类。我还在研究如何使用它。我总是用错误的参数创建它,我想......

编辑2:

我正在使用受this启发的内容。

祝你好运