3 votes

Impossible de "vérifier" le certificat de letsencrypt avec "openssl".

Je crée un certificat avec Letsencrypt en utilisant le conteneur Certbot :

$ mkdir /home/$USER/letsencrypt
$ docker run -it --rm -p 80:80 -p 443:443 -v /home/$USER/letsencrypt:/etc/letsencrypt certbot/certbot certonly --standalone --email user@example.com --agree-tos -d example.com

Je navigue vers le certificat généré :

$ cd /home/$USER/letsencrypt/live/example.com

Je peux vérifier chain.pem :

$ openssl verify chain.pem 
chain.pem: OK

Et je peux voir ce qu'il y a dans chain.pem :

$ openssl x509 -noout -in chain.pem -subject -issuer
subject=C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
issuer=O = Digital Signature Trust Co., CN = DST Root CA X3

Je ne peux pas vérifier cert.pem (vraisemblablement parce qu'il a besoin de la chaîne) :

$ openssl verify cert.pem
CN = example.com
error 20 at 0 depth lookup: unable to get local issuer certificate
error cert.pem: verification failed

Mais je ne peux pas non plus vérifier fullchain.pem soit :

$ openssl verify fullchain.pem
CN = example.com
error 20 at 0 depth lookup: unable to get local issuer certificate
error fullchain.pem: verification failed

Le certificat semble fonctionner dans le navigateur, mais échoue dans le système d'information de l'entreprise. curl (et un client http Android, qui est le vrai problème) :

$ curl https://example.com
curl: (60) SSL certificate problem: unable to get local issuer certificate

J'ai vérifié deux fois que fullchain.pem est une concaténation de cert.pem y chain.pem .

Donc : Je ne comprends pas pourquoi fullchain.pem ne vérifie pas ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X