- J'ai extrait le certificat à l'aide de la commande SSL / export de Chrome.
- Puis fourni comme entrée à openvpn - dans la configuration pour openvpn:
pkcs12 "path/to/pkcs12_container"
- Lors de l'appel,
openvpn ~/openvp_config
il vous demande un mot de passe pour la clé privée (que j'ai saisie lors de l'exportation à l'aide de Chrome):
Enter Private Key Password:...
- Je veux supprimer cette demande de mot de passe.
La question: comment supprimer le mot de passe pour la clé privée de pkcs12?
En d’autres termes, créez un fichier pkcs12 qui ne nécessite pas de mot de passe.
(Il semble que je l’ai déjà fait il ya un an et que je l’oublie maintenant.)
ssl-certificate
openssl
Ayrat
la source
la source
./remove_pass_from_cert.sh YourCertName YourCertPass
Réponses:
Cela peut être réalisé par divers
openssl
appels.Tout d'abord, extrayez le certificat:
Deuxièmement, la clé CA:
Maintenant, la clé privée:
Maintenant, supprimez la phrase secrète:
Rassemblez les éléments pour le nouveau fichier PKCS:
Et créez le nouveau fichier:
Vous avez maintenant un nouveau fichier de clé PKCS12 sans phrase secrète sur la partie clé privée.
la source
ca-cert.ca
?-nodes
est ignoré lorsqu’il-export
est utilisé, il n’est pas documenté pour ce cas (voir la page de manuel openssl, il-nodes
n’est répertorié que lors de l’exportation de PKCS # 12 vers PEM). Votre dernier appel me demande toujours un mot de passe d'exportation. Et si je clique simplement sur retour, je reçois un fichier PKCS # 12 dont le mot de passe est une chaîne vide et non pas sans mot de passe. Quand je le fais alors,openssl pkcs12 -in "NewPKCSWithoutPassphraseFile"
il me demande toujours un mot de passe d'importation. Je peux simplement appuyer sur retour et cela fonctionne, mais s'il n'y avait pas de mot de passe, il ne serait même pas invité.La solution la plus simple que j'ai trouvée est
Exporter vers un fichier PEM temporaire
Convertir pem vers p12
Supprimer le certificat temporaire
la source
keytool -v -list -storetype pkcs12 -keystore unprotected.p12
, émettra un avertissement et ne listera PAS le certificat. Cela peut donc fonctionner pour OpenVPN, mais pas pour autre chose.Cela peut facilement être fait en une étape sans fichier temporaire:
openssl pkcs12 -in "PKCSFile" -nodes | openssl pkcs12 -export -out "PKCSFile-Nopass"
Répondez à l'invite Importer le mot de passe avec le mot de passe. Répondez aux invites du mot de passe d'exportation avec <CR>
Terminé.
Notez que cela gère n'importe quel nombre de certificats intermédiaires pouvant être dans le paquet ...
Je recommande fortement de prendre soin du fichier résultant; ce serait une bonne idée de régler umask sur 377 en premier (non-unix: cela signifie que seul le propriétaire peut lire le fichier créé.) Je suppose que c'est 2 étapes, si votre umask par défaut est permissif ...
la source
Maintenant, la clé privée:
Supprimez maintenant la phrase secrète:
Les 2 étapes peuvent être remplacées par
la source
Aucun de ceux-ci n'a fonctionné pour moi. En fin de compte, je suis revenu au code dotNet qui fonctionnait du premier coup.
la source