JAVA: Comment enregistrer une clé privée dans un fichier pem avec protection par mot de passe

Je suis en train d'enregistrer une clé privée dans un pem fichier protégé par un mot de passe. Le problème est, la pem fichier est créé et je
peut même ouvrir avec openssl mais, aucun mot de passe n'est demandé!

Voici le code:

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();

Après qu'il l'exécute, j'essaie d'ouvrir le pk.pem fichier

openssl rsa -in pk.pem -check

et il donne:

RSA key ok
writing RSA key
-----BEGIN RSA PRIVATE KEY-----
(... some key appears here ...)
-----END RSA PRIVATE KEY-----

C'était sensé de demander le mot de passe avant de donner l'accès à la clé privée!
Peut quelqu'un m'aider?

OriginalL'auteur Snox | 2014-07-01