Próbuję zapisać klucz prywatny w pliku PEM, chroniony hasłem. Problem polega na tym, że plik pem jest tworzony i i może go nawet otworzyć za pomocą openssl, ale nie jest wymagane hasło!JAVA: Jak zapisać klucz prywatny w pliku PEM z ochroną hasłem
Oto kod:
KeyPairGenerator keygen = KeyPairGenerator.getInstance("RSA");
keygen.initialize(2048);
KeyPair keypair = keygen.generateKeyPair();
PrivateKey privKey = keypair.getPrivate();
PKCS8Generator encryptorBuilder = new PKCS8Generator(privKey);
encryptorBuilder.setPassword("testing".toCharArray());
PEMWriter writer = new PEMWriter(new FileWriter(new File("pk.pem")));
PemObject obj = encryptorBuilder.generate();
writer.writeObject(obj);
writer.flush();
writer.close();
Po to wykonuje, próbuję otworzyć plik pk.pem
openssl rsa -in pk.pem -check
i daje:
RSA key ok
writing RSA key
-----BEGIN RSA PRIVATE KEY-----
(... some key appears here ...)
-----END RSA PRIVATE KEY-----
Został przypuszczać poprosić o hasło przed udzieleniem dostępu do klucza prywatnego! Czy ktoś może mi pomóc?
Dziękuję bardzo! Nie wiedziałem o tym ... i nie wiedziałem też, że używam przestarzałej wersji BC. Ponownie dziękuję. – Snox
Aktualizowanie odpowiedzi, mam wystarczająco dużo rep :) –