web-dev-qa-db-fra.com

vérification openssl - erreur 20 à la recherche de profondeur 0: impossible d'obtenir le certificat d'émetteur local

j'ai créé un certificat PEM à partir d'un certificat PFX et je voulais le vérifier. Cependant, j'ai rencontré ce problème, essayez de trouver des réponses, mais je ne l'ai pas fait et je ne sais donc pas comment le résoudre. pourriez-vous s'il vous plaît conseiller? Merci beaucoup.

C:\OpenSSL-Win32\bin>set OPENSSL_CONF=C:\OpenSSL-Win32\bin\openssl.cfg

C:\OpenSSL-Win32\bin>openssl
OpenSSL> verify C:\mycert.pem
C:\mycert.pem: C = CZ, ST = Sprava zakladnich registru, L = "Obec=Praha,Ulice=Na Vapence,PSC=13000", O = 72054506, OU = 4333, CN = tstcawilly.szr.local
error 20 at 0 depth lookup:unable to get local issuer certificate
error in verify
OpenSSL>
OpenSSL> verify -CAfile C:\mycert.pem C:\mycert.pem
C:\mycert.pem: C = CZ, ST = Sprava zakladnich registru, L = "Obec=Praha,Ulice=Na Vapence,PSC=13000", O = 72054506, OU = 4333, CN = tstcawilly.szr.local
error 20 at 0 depth lookup:unable to get local issuer certificate
error in verify
OpenSSL>
30
spaghi

OpenSSL> vérifier -CAfile C:\mycert.pem C:\mycert.pem

Proche. Vous devez ajouter le certificat racine de l'autorité de certification avec -CAfile; et non votre certificat d'entité finale. Quelque chose comme:

openssl verify -CAfile C:\ca-cert.pem C:\mycert.pem

De plus, s'il existe un certificat intermédiaire, il doit être ajouté à mycert.pem. Alors mycert.pem aura en fait deux (ou plus) certificats (plutôt qu'un).

Ajout de tous les certificats requis à mycert.pem dans le but de construire une chaîne valide résout le problème "quel répertoire" . C'est un problème bien connu dans l'ICP. Essentiellement, un client (comme moi) ne sait pas où aller pour obtenir des certificats intermédiaires manquants.

20
jww