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