java - 可以使用根CA或没有父CA的祖父CA验证证书

时间:2017-10-25 18:27:18

标签: java security certificate ca

我试图用Java做这个,但我认为这是一般证书问题。 我有根CA,由根CA颁发的中间CA1,由中间CA1颁发的中间CA2,以及由中间CA2颁发的证书。

rootCA - > interCA1 - > interCA2 - >证书

是否可以在不知道interCA2的情况下使用interCA1验证证书?

cert.verify(interCA2.getPublicKey()); // ok
interCA2.verify(interCA1.getPublicKey()); // ok
cert.verify(interCA1.getPublicKey()); // NOT ok -> is there any way to fix or bypass this? 

1 个答案:

答案 0 :(得分:1)

您不能这样做,因为interCA1不是证书的颁发者。

cert.verify(interCA1.getPublicKey());

证书使用颁发证书的私钥进行签名,因此您需要使用其公钥来验证签名。因此,要验证证书,需要完整的认证链。