我正在使用下面的方法來讀取證書。無法讀取CA證書(GetCertificateChain不返回完整鏈)
KeyStore ks = KeyStore.getInstance("pkcs12");
ks.load(in, password);
String alias = ks.aliases().nextElement();
Certificate[] chain = ks.getCertificateChain(alias);
...
這種方法非常實用,但是我在證書中遇到了一個問題,它沒有加載完整的證書字符串。
對於例1: When reading certificate 1 the statement below returns 4 strings
對於例2: When reading certificate 2 the statement below returns only one string
沒有人有任何想法可能發生?
編輯
試圖更好地解釋,這個證書是用來連接到WS。在通信過程中,WS返回以下拒絕連接已關閉:javax.net.ssl.SSLHandshakeException:收到的致命警報:unknown_ca 與此WS的連接需要完整的證書鏈演示文稿。
由於證書下面提到顯示JAVA的失敗,但它完全在.NET中,正確顯示證書鏈
我明白你的觀點。但是問題仍然存在,因爲如果通過.NET導入,相同的證書可以正常工作 通過使用.NET的示例,系統可以加載並顯示所有證書鏈。 – Blomersi
.NET和Java是具有不同API的不同平臺,可能會產生不同的結果。 – Crypt32