一個專用密鑰鑑於這種.pem
文件(與OpenSSL的生成,並用密碼加密):獲得來自RSA的.pem文件
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,AC009672952033EB
2wegzxf3MtncXS1CY3c.....
....
....
-----END RSA PRIVATE KEY-----
我如何在Java中PrivateKey
對象?我寫了下面的代碼,但我無法找到合適的方式來獲得KeySpec
:
PrivateKey readFromPem(File keyFile, String password){
PemReader r = new PemReader(new InputStreamReader(new FileInputStream(keyFile)));
PemObject pemObject = r.readPemObject();
byte[] encodedKey = pemObject.getContent();
KeySpec keySpec = ???? // how to get this?
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PrivateKey key = keyFactory.generatePrivate(keySpec);
return key;
}
我想我應該建立一個RSAPrivateKeySpec
,但我不知道怎麼辦。我嘗試了this answer和this other answer中的方法,但它們在解析字節數組時都會導致錯誤。
嗨,藉助上述方法從密碼保護的pfx文件讀取私鑰時獲取NPE。 – mahi