web-dev-qa-db-fra.com

Comment vérifier si mes certificats SSL ont été révoqués

La récente découverte de la vulnérabilité Heartbleed a incité les autorités de certification à réémettre les certificats.

J'ai deux certificats qui ont été générés avant la découverte de la vulnérabilité Heartbleed. Après que l'émetteur SSL m'a dit de régénérer le certificat, j'ai mis à jour mes deux serveurs/domaines avec les nouveaux certificats.

Si ma compréhension est correcte, les anciens certificats auraient dû être révoqués par l'autorité de certification et auraient dû se rendre dans la liste de révocation de certificats (CRL) ou la base de données OCSP (Online Certificate Status Protocol), sinon il est techniquement possible pour quelqu'un d'effectuer une " man in the middle attack "en régénérant les certificats à partir d'informations récupérées à partir de certificats compromis.

Existe-t-il un moyen de vérifier si mes anciens certificats ont atteint CRL et OCSP? S'ils ne l'ont pas, existe-t-il un moyen de les inclure?

MISE À JOUR: La situation est que j'ai déjà remplacé mes certificats tout ce que j'ai, c'est les fichiers .crt des anciens certificats, donc utiliser l'URL pour vérifier n'est pas vraiment possible.

23

Obtenez l'url ocsp de votre certificat:

$ openssl x509 -noout -ocsp_uri -in /etc/letsencrypt/archive/31337.it/cert1.pem
http://ocsp.int-x1.letsencrypt.org/
$

Envoyez une demande au serveur ocsp pour vérifier si le certificat est révoqué ou non:

$ openssl ocsp -issuer /etc/letsencrypt/archive/31337.it/chain4.pem -cert /etc/letsencrypt/archive/31337.it/cert4.pem -text -url http://ocsp.int-x1.letsencrypt.org/ -header "Host" "ocsp.int-x1.letsencrypt.org"
...
        This Update: Oct 29 10:00:00 2015 GMT
        Next Update: Nov  5 10:00:00 2015 GMT
$

c'est un bon cert.

Il s'agit d'un certificat révoqué:

$  openssl ocsp -issuer /etc/letsencrypt/archive/31337.it/chain3.pem -cert /etc/letsencrypt/archive/31337.it/cert3.pem -text -url http://ocsp.int-x1.letsencrypt.org/ -header "Host" "ocsp.int-x1.letsencrypt.org"
...
        This Update: Oct 29 12:00:00 2015 GMT
        Next Update: Nov  5 12:00:00 2015 GMT
        Revocation Time: Oct 29 12:33:57 2015 GMT
$
11
Simon

Vous pouvez utiliser certutil sous Windows:

Si vous avez un certificat et souhaitez vérifier sa validité, exécutez la commande suivante:

certutil -f –urlfetch -verify [FilenameOfCertificate]

Par exemple, utilisez

certutil -f –urlfetch -verify mycertificatefile.cer

Source/Plus d'informations: TechNet

De plus, assurez-vous de vérifier auprès de votre autorité de certification. Ce n'est pas parce que vous recréez le certificat/en obtenir un nouveau qu'il le révoque automatiquement!

11
MichelZ

Vous pouvez utiliser ceci service SSLLabs pour tester les certificats SSL, mais vous en avez besoin pour être accessibles à partir du Web. De plus, vous pouvez trouver plus d'informations, car ce service fournit un audit.

2
mack

Si vous avez révoqué les certificats par le biais de l'autorité de certification qui les a générés, ils l'auraient fait pour OCSP et CRL.

Si vous souhaitez vous assurer que tel est le cas, veuillez extraire l'URL OCSP du certificat, puis créer une demande OCSP vers cette URL, y compris le numéro de série du certificat, le certificat de l'émetteur ca et récupérer la réponse OCSP, puis on pourrait analysez-le pour vérifier et confirmer qu'il est bien révoqué.

Plus de détails sur cette page utile: http://backreference.org/2010/05/09/ocsp-verification-with-openssl/

Remarque: cela nécessite l'utilisation de la bibliothèque openssl.

Edit1: Je vois que vous avez ajouté des informations sur OCSP et CRL explicitement après cette réponse.

1
Khanna111