Convertir SSL .pem .p12 avec ou sans OpenSSL

J'externes .pem les fichiers doivent être convertis à .p12 fichiers - je ajouter un nom d'utilisateur et mot de passe dans le processus. (J'en ai besoin pour ce faire d'utiliser un tiers de l'API.)

À l'aide de openssl, la commande est...

openssl pkcs12 -export -in xxxx.pem -inkey xxxx.pem -out xxx.p12 -passout pas:newpassword -name "newname"

Je peux l'exécuter à partir d'une session de terminal, et il fonctionne parfaitement.

Cependant, j'ai besoin de le faire souvent et ont écrit une classe Java qui gère cela et plus (ma demande est principalement .jsp avec Tomcat et Apache). Lorsque j'essaie d'exécuter la même commande à partir de Java à l'aide de Runtime.exec, j'ai le redoutable "impossible d'écrire "aléatoire" d'état" erreur ( À l'aide d'OpenSSL ce qui ne "impossible d'écrire "aléatoire" d'état"? ).

Je suppose que la différence est que, quand je le lance à partir de Java, l'utilisateur n'est pas "root".

Alors, est-il un meilleur moyen de convertir du format pem .p12 à l'aide d'une bibliothèque Java plutôt que de l'exécution d'un programme en ligne de commande (c'est à dire openssl)?

Sinon, je suppose que j'ai besoin de faire un peu de configuration sur mon serveur. Je ne peux trouver aucune .md fichier n'importe où sur le serveur. La seule openssl.cnf fichier est dans un drôle de répertoire (/etc/pki/tls). Dois-je créer un nouveau openssl.cnf fichier quelque part d'autre?

OriginalL'auteur DrDave | 2012-03-14