2010-01-18 07:43:44 +0000 2010-01-18 07:43:44 +0000
342
342

Comment enregistrer localement le certificat SSL d'un serveur distant sous forme de fichier

Je dois télécharger le certificat SSL d'un serveur distant (pas HTTPS, mais la poignée de main SSL doit être la même que celle de Google Chrome / IE / wget et curl tous donnent des erreurs d'échec de vérification de certificat) et ajouter le certificat comme étant de confiance dans le magasin de certificats de Windows de mon ordinateur portable car je ne peux pas obtenir de mes informaticiens qu'ils me donnent le certificat CA. Comment faire, j'ai Windows 7 et une pile de Linux à portée de main, donc n'importe quel outil ou langage de script est bon.

Réponses (8)

333
333
333
2010-08-17 07:20:51 +0000

Si vous avez accès à OpenSSL, essayez

openssl s_client -connect {HOSTNAME}:{PORT} -showcerts

en remplaçant {HOSTNAME} et {PORT} par vos propres valeurs.

264
264
264
2013-09-05 13:47:29 +0000

Une méthode rapide pour extraire et télécharger le certificat serait d'exécuter la commande suivante qui achemine la sortie des -showcerts vers la commande x509 ssl qui se contente d'éliminer tout ce qui est étranger. Par exemple :

openssl s_client -showcerts -connect server.edu:443 </dev/null 2>/dev/null|openssl x509 -outform PEM >mycertfile.pem

Pour utiliser le certificat, avec wget,

wget https:/server.edu:443/somepage --ca-certificate=mycertfile.pem
128
128
128
2010-01-18 07:56:49 +0000

Pour être honnête, je n'ai jamais essayé cela auparavant (jamais eu besoin de le faire) ; cependant, je viens d'essayer dans Firefox et cela semble fonctionner pour l'enregistrement :

  1. Cliquez sur l'icône du certificat SSL en haut / Cadenas en bas.
  2. Cliquez sur View Certificate
  3. Cliquez sur l'onglet Details
  4. Choisissez le certificat que vous souhaitez dans la hiérarchie [non encerclé dans l'image]
  5. Cliquez sur Export

52
52
52
2016-12-26 18:45:38 +0000

Exportation d'un certificat à l'aide du navigateur Chrome

  1. Connectez-vous au site web en utilisant le protocole SSL https://whatever )

2. Cliquez sur le symbole du cadenas, puis sur Détails

  1. Depuis la version 56 de Chrome, vous procédez comme suit : allez dans le menu Trois points -> Plus d'outils -> Outils pour les développeurs, puis cliquez sur l'onglet Sécurité. Cela vous donnera un Vue d'ensemble de la sécurité avec un bouton Voir le certificat.

  2. Cliquez sur le bouton Voir le certificat.

  3. Pour exporter un certificat :

20
20
20
2012-10-18 22:10:10 +0000

C'est la réponse de gbroiles , mais je voulais souligner que le projet cURL a une page avec quelques détails supplémentaires sur l'utilisation de openssl pour sauvegarder le certificat SSL du serveur distant :

  • openssl s\_client -connect {HOSTNAME}:{PORT} | tee logfile
  • Tapez QUIT et appuyez sur la touche Entrée / Retour.
  • Le certificat sera listé entre les marqueurs “BEGIN CERTIFICATE” et “END CERTIFICATE”.
  • Si vous voulez voir les données dans le certificat, vous pouvez utiliser
16
16
16
2018-01-25 15:59:26 +0000

automated

-servername was required for me to get the right cert from the virtual host on our server.

openssl s_client -showcerts -connect host.name.com:443 -servername host.name.com </dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > host.name.com.pem

vous pouvez également convertir en un certificat pour le bureau

openssl x509 -inform PEM -in host.name.com.pem -outform DER -out host.name.com.cer

la dernière partie est de l'ajouter à vos certs, pas sûr sur windows pour le porte-clés mac que j'ai utilisé, devrait être similaire…

sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain host.name.com.cer

2
2
2
2017-05-23 01:20:39 +0000

Cela donnera les résultats contenant les certificats uniquement

echo QUIT | \
openssl s_client -showcerts -connect hostname:port | \
awk '/-----BEGIN CERTIFICATE-----/ {p=1}; p; /-----END CERTIFICATE-----/ {p=0}' "
0
0
0
2019-05-03 13:19:15 +0000

J'ai trouvé un moyen beaucoup plus facile si je suis sous Windows. J'ai essayé Microsoft Edge (pré-chrome) et j'ai cliqué sur le cadenas de la barre d'adresse -> Voir le certificat La boîte de dialogue s'ouvre avec un bouton “Exporter vers un fichier”, qui l'enregistre sous forme de fichier .crt.

Je n'utiliserais pas beaucoup Edge, mais c'était du gâteau.