Bonjour tout le monde que j'essaie de convertir une clé privée de PKCS # 8 que je génère dans mon programme Java dans un fichier codé PEM. Après avoir exécuté le programme, j'ai la clé privée dans les formats et une clé publique (le code n'est pas affiché comme ça marche). J'utilise ensuite cette commande openssl pour convertir le fichier privé. Hember à un fichier formé PEM. P> Quand je comparais privé.pem et privé2.pem ils sont différents et évidemment quand J'essaie d'utiliser privé.pem, il est dit que ce n'est pas un fichier valide. P> Quelle étape suis-je manquante afin de convertir correctement cette clé privée au format PEM dont j'ai besoin? Je ne peux pas utiliser OpenSSL de mon programme, sinon j'ajouterais simplement cet appel de fonction. J'ai accès à Bouncycastle Libs dans ce programme, alors peut-être que cela a une solution que je suis surveille. P> p>
3 Réponses :
Utilisez l'en-tête:
-----END PRIVATE KEY-----
Oui ce que je veux, c'est de produire la clé OpenSSL au lieu du PKCS n ° 8. J'ai regardé le pemwriter ci-dessous, mais je ne sais pas si cela fera ce que j'ai besoin, étant donné la conversion.
Cela voudrait-il vous faire mal de l'essayer et de voir?
Vous pouvez utiliser le Pemwriter classe En Bouncycastle. P>
Merci cela a fonctionné super et j'ai pu supprimer tout mon code redondant! La lecture du code source m'a aidé à comprendre quels objets passer. Java2S. Com / Open-Source / Java-Document / Sécurité / Bouncy-Castle / Org / ...
Oui, la documentation Bouncycastle est médiocre mais le code source est très facile à lire!
Le fait que OpenSSL utilise son propre format est vraiment la seule chose qui rend cela difficile. Heureusement, le château de Bouncy Pemwriter le rend facile, mais l'interface n'est pas très bien documentée. J'ai trouvé du code en recherchant dans la liste de diffusion. Je l'ai adapté ci-dessous:
Quel logiciel essayez-vous d'inter-opérer avec? (Quand vous dites: "Il dit que ce n'est pas un fichier valide" Qu'est-ce que "ça"?)
Curl et OpenSSl disent la même chose quand j'essaie d'utiliser le privé.Key pour diverses opérations.
PrivatePemwriter manquant.close (); // pour chasser correctement. Merci.