Biorąc pod uwagę to .pem
plik (generowane z OpenSSL i szyfrowane za pomocą hasła):Get PrivateKey od A RSA pliku .pem
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,AC009672952033EB
2wegzxf3MtncXS1CY3c.....
....
....
-----END RSA PRIVATE KEY-----
Jak mogę dostać PrivateKey
obiektu w Java? Napisałem następujący kod, ale nie mogę znaleźć właściwą drogę, aby uzyskać 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;
}
Chyba powinienem zbudować RSAPrivateKeySpec
, ale nie wiem jak. Próbowałem metody z this answer i this other answer, ale obaj powodują błędy podczas analizowania tablicy bajtów.
Witam, Pobieranie NPE podczas odczytu klucza prywatnego z pliku pfx chronionego hasłem za pomocą powyższej metody. – mahi