1
我有一個SSL客戶端證書.pem文件。這個文件通過X509_load_cert_file()方法從我的C++客戶端加載時工作正常。現在如何在Android中調試SSLSession.IsValid失敗的原因?
,我嘗試使用下面的代碼加載這個文件:
InputStream caInput = ctx.getResources().openRawResource(R.raw.cacerts);
java.security.cert.Certificate ca;
try {
ca = cf.generateCertificate(caInput);
} finally {
caInput.close();
}
...
keyStore.setCertificateEntry("ca", ca);
然而,generateCertificate所()拋出一個異常,輸入文件不具有的ASN.1序列標識符。
.pem文件包含一堆證書。我編輯了文件,刪除了開始的評論,並留下了第一個--- BEGIN CERTIFICATION ---/--- END CERTIFICATE ---對。有了這個改變,generateCertificate()不會給出任何錯誤。但是,我對SSLSession.IsValid()的後續調用返回false。
有人可以請建議我可能會錯過什麼?也許其餘的證書也需要加載到密鑰庫中。問候。
謝謝你的幫助。您能否指點一下如何從多證書.pem文件加載證書鏈的示例? – Peter 2014-11-21 00:09:31