私たちのユースケースでは、PKIX セットアップで OCSP を介して証明書の失効を検証する必要があります。私の出発点は、この関連する質問のコードでした: OCSP Revocation on client certificate
Tomcat ではサポートされていないため、アプリケーション レベルで手動で行っています。ただし、certPath の構築に問題があり、基本的な理解が欠けていると思います。
最初に、着信クライアント x509Certificate の certPath を作成しようとします。
KeyStore ストアは正しく初期化されており、クライアント x509Certificate に一致するルート証明書のみが含まれています。
編集:中間証明書も追加した後、同じ結果が得られました。
X509CertSelector certSelector = new X509CertSelector();
certSelector.setSubject(x509certificate.getSubjectX500Principal());
PKIXParameters params = new PKIXBuilderParameters(store,certSelector);
CertPathBuilder cpb = CertPathBuilder.getInstance(CertPathBuilder.getDefaultType());
CertPath certPath = cpb.build(params).getCertPath();
ただし、実行時にエラーが発生します。
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
何が欠けている可能性がありますか?