Comment lire un mot de passe crypté clé avec java?
J'ai la clé privée stockée dans un fichier dans PKCS8 format DER et protégé par mot de passe. Quel est le moyen le plus facile à lire?
Voici le code que j'utilise pour charger non chiffrés:
InputStream in = new FileInputStream(privateKeyFilename);
byte[] privateKeydata = new byte[in.available()];
in.read(privateKeydata);
in.close();
KeyFactory privateKeyFactory = KeyFactory.getInstance("RSA");
PKCS8EncodedKeySpec encodedKeySpec = new PKCS8EncodedKeySpec(privateKeydata);
PrivateKey privateKey = privateKeyFactory.generatePrivate(encodedKeySpec);
Il fonctionne très bien pour les non chiffrés clés avec le même cahier des charges. Par ailleurs, je suis en utilisant BouncyCastle.
Je peux afficher cette clé privée à l'aide de la suite de commande openssl
openssl pkcs8 -in ./privatekey.key -inform DER -passin pass:thisismypass
S'Il Vous Plaît, À L'Aide!!!
Je,ve posté quelques solutions dans ma propre réponse à ce sujet. Mais j'ai garder la question sans réponse dans le cas où n'importe qui peut les aider à le faire fonctionner sans supplément de bibliothèque, il suffit de BouncyCastle.
OriginalL'auteur Denis | 2010-04-16
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé la solution! C'est peut-être pas très élégante, mais...
Ici, je vais poster deux solutions:
Première:
J'ai trouvé une sorte de solution ici, mais il déclenche une exception. Solution:
Et mon exception:
Deuxième:
Et à la suite de cette http://juliusdavies.ca/commons-ssl/pkcs8.html vous pouvez lire à propos de la seconde, solution de travail
Pour la deuxième solution. Vous pouvez coller le code ici? Je ne peux pas ouvrir le lien. Ce que la bibliothèque avez-vous utilisé?
Cela fonctionne pour moi.
OriginalL'auteur Denis
C'est mon code et il fonctionne 🙂
Avez-vous réussi à lire la clé privée avec juste de l'API java?
OriginalL'auteur Stiopa