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

java-可以使用根CA或没有父CA的父级CA验证证书吗,java,security,certificate,ca,Java,Security,Certificate,Ca,我正试图用Java实现这一点,但我认为这是一个一般的证书问题。 我有根CA、根CA颁发的中间CA1、中间CA1颁发的中间CA2和中间CA2颁发的证书 rootCA->interCA1->interCA2->cert 是否可以在不知道interCA2的情况下通过interCA1验证证书 cert.verify(interCA2.getPublicKey()); // ok interCA2.verify(interCA1.getPublicKey()); // ok cert.verify(int

我正试图用Java实现这一点,但我认为这是一个一般的证书问题。 我有根CA、根CA颁发的中间CA1、中间CA1颁发的中间CA2和中间CA2颁发的证书

rootCA->interCA1->interCA2->cert

是否可以在不知道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? 

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

cert.verify(interCA1.getPublicKey());
证书是用颁发证书的私钥签名的,因此您需要其公钥来验证签名。因此,要验证证书,需要完整的证书链