私は証明書を読むために以下の方法を使用しています。CA証明書を読み込めませんでした(GetCertificateChainがフルチェーンを返さない)
KeyStore ks = KeyStore.getInstance("pkcs12");
ks.load(in, password);
String alias = ks.aliases().nextElement();
Certificate[] chain = ks.getCertificateChain(alias);
...
このメソッドは非常に機能的ですが、証明書の完全な文字列をロードしない証明書に問題が発生しました。
例1の場合:例2の場合 When reading certificate 1 the statement below returns 4 strings
: When reading certificate 2 the statement below returns only one string
誰もが起きているかもしれないものの任意のアイデアを持っていますか?よりよく説明しようと
EDIT
、この証明書は、WSに接続するために使用されます。通信プロセス中にWSが次の拒否を返します。接続がシャットダウンされました:javax.net.ssl.SSLHandshakeException:致命的なアラートが受信されました:unknown_ca このWSへの接続では、完全な認証チェーンの提示が必要です。証明書の下で述べたように
はJAVAに障害が発生したことを示しているが、それは、.NETで完璧に動作し、正しくAPI documentationによると、証明書チェーン
私はあなたの意見を理解しています。しかし、.NET経由でインポートした場合、この同じ証明書が正しく機能するため、問題は継続します。 .NETの例を使用すると、システムはすべての証明書チェーンをロードして表示できます。 – Blomersi
.NETとJavaは異なるAPIを持つ異なるプラットフォームであり、異なる結果を生成する可能性があります。 – Crypt32