java - 证书是否可以在没有父 CA 的情况下使用根 CA 或祖父 CA 进行验证
java - can a certificate be verified with root CA or grand-parent CA without parent 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?
您不能这样做,因为 interCA1 不是证书的颁发者。
cert.verify(interCA1.getPublicKey());
证书是使用颁发证书的私钥签名的,因此您需要其 public 密钥来验证签名。因此,要验证证书,需要完整的认证链。
我正尝试在 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?
您不能这样做,因为 interCA1 不是证书的颁发者。
cert.verify(interCA1.getPublicKey());
证书是使用颁发证书的私钥签名的,因此您需要其 public 密钥来验证签名。因此,要验证证书,需要完整的认证链。