X.509使用指纹验证密钥链

时间:2018-03-13 11:59:21

标签: java x509certificate

我有一个项目,我必须验证给定证书的链,以便所有权限都在我的持久性中。

有人告诉我,如果我检索给定证书的指纹,我可以用它来识别它的CA.这是真的,如果是的话(最有可能在JAVA中)我可以这样做吗?

我们已经找到了如何使用javas内置来检索指纹,但没有人能告诉我如何使用单个证书的指纹来识别CA或链。也许有不同的方式来实现我的目标?

1 个答案:

答案 0 :(得分:1)

  

有人告诉我,如果我检索给定证书的指纹,我可以使用它来识别其CA.这是真的,如果是的话(最有可能在JAVA中)我可以这样做吗?

不,这是假的。证书指纹是在整个证书上计算的哈希。指纹不包含有关CA的信息

  

我们已经找到了如何使用javas内置来检索指纹,但没有人能告诉我如何使用单个证书的指纹来识别CA或链。也许有不同的方式来实现我的目标?

您可以检查证书是否使用颁发证书的私钥进行签名,使用与颁发者关联的公钥验证数字签名

在java中,使用您的可信证书列表

进行检查
 Certificate certificate = ... //Last certificate from bottom to top of the provided chain
 Certificate issuerCertificate =... //one of the certificates of the trusted list
 certificate.verify(issuerCertificate.getPublicKey());