2017-10-25 13 views
0

これをJavaで実行しようとしていますが、一般的な証明書の問題だと思います。 私はルートCA、ルートCAによって発行された中間CA1、中間CA1によって発行された中間CA2、および中間CA2によって発行された証明書を持っています。java - 親CAなしでルートCAまたは祖父母CAで証明書を検証できるか

ROOTCAのCA - > 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? 

答えて

1

interCA1がcertの発行者ではないため、これを行うことはできません。

cert.verify(interCA1.getPublicKey()); 

証明書は発行証明書の秘密鍵で署名されているため、その公開鍵で署名を検証する必要があります。したがって、証明書を検証するには、完全な証明書チェーンが必要です。

関連する問題