我生成使用keytool命令證書:PKCS#12:DerInputStream.getLength()異常
keytool -genkeypair -alias myRSAKey -keyalg RSA -keysize 1024 -keystore test.p12 -storepass test -storetype pkcs12
然後,如果我嘗試加載用java安全API它,得到該文件作爲字節之後[] :
KeyStore ks = KeyStore.getInstance("PKCS12");
try{
ks.load(new ByteArrayInputStream(data), "test".toCharArray())
} catch (Exception e){
...
}
我得到一個DerInputStream.getLength():lengthTag = 127,太大的異常。
出了什麼問題?
謝謝。錯誤信息是真的令人誤解。在我的情況'數據'(關鍵)是一個空的字節數組,並導致這個錯誤。所有,因爲我重用了輸入流。 – Stroboskop
第一個原因是你指出它是IMO最常見的原因:通常是錯誤的文件。也就是說,當我嘗試通過'KeyStore.getInstance(「PKCS12」)'或反轉':)''使用'JKS'密鑰庫文件時,有時會發生這種情況。 – albciff