0
我是新的使用密鑰庫,有沒有辦法創建一個密鑰庫,當我有證書文件和PEM格式的私鑰?請幫忙從私鑰文件導入私鑰到密鑰庫
keyStore = KeyStore.getInstance("PKCS12");
keyStore.load(null, pwd.toCharArray());
String privKeyPEM= privateKey.replace("-----BEGIN RSA PRIVATE KEY-----\r\n","");
privKeyPEM = privKeyPEM.replace("\r\n-----END RSA PRIVATE KEY-----","");
byte [] encoded = Base64.decode(privKeyPEM);
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(encoded);
KeyFactory kf = KeyFactory.getInstance("RSA");
PrivateKey privKey = kf.generatePrivate(keySpec);
這裏失敗kf.generatePrivate(keySpec)
。 和我:
algid parse error, not a sequence.
的其餘代碼:
KeyStore.PrivateKeyEntry entry = new KeyStore.PrivateKeyEntry(privKey, new Certificate[ {certificate});
keyStore.setEntry(keyStoreAlias,entry , new KeyStore.PasswordProtection(pwd.toCharArray()));
你是在運行時創建一個keystore,還是一個相當靜態的設置? – Hannes 2014-10-03 11:10:13
它將是一種虛擬密鑰庫。我不知道我是否也正確導入了證書。 – 2014-10-03 11:12:02
可能是因爲我使用pkcs12而私鑰被定義爲pkcs8?但我不知道如何以編程方式執行此操作 – 2014-10-03 11:14:52