Vor diesem .pem
Datei (erzeugt mit OpenSSL und verschlüsselt mit einem Passwort):Holen Sie sich ein PrivateKey von einem RSA .pem-Datei
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,AC009672952033EB
2wegzxf3MtncXS1CY3c.....
....
....
-----END RSA PRIVATE KEY-----
Wie erhalte ich ein PrivateKey
Objekt in Java? Ich schrieb den folgenden Code, aber ich kann nicht den richtigen Weg finden eine KeySpec
zu bekommen:
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;
}
ich, ich sollte ein RSAPrivateKeySpec
erraten bauen, aber ich weiß nicht, wie. Ich habe die Methode aus this answer und this other answer versucht, aber beide führen zu Fehlern beim Parsen des Byte-Arrays.
Hallo, bekomme NPE beim Lesen des privaten Schlüssels aus passwortgeschützten PFX-Datei mit Hilfe der oben genannten Methode. – mahi