Openssl verify - ошибка 20 при поиске по глубине 0: невозможно получить сертификат локального эмитента
я создал сертификат PEM из сертификата PFX и хотел его проверить.
Однако я столкнулся с этой проблемой, попробую найти ответы, но я этого не сделал, и поэтому я не знаю, как это исправить.
не могли бы вы посоветоваться?
большое спасибо.
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>
Ответы
Ответ 1
OpenSSL > verify -CAfile C:\mycert.pem C:\mycert.pem
Закрыть. Вам необходимо добавить корневой сертификат CA с помощью -CAfile
; а не сертификат конечного объекта. Что-то вроде:
openssl verify -CAfile C:\ca-cert.pem C:\mycert.pem
Кроме того, если есть промежуточный сертификат, его необходимо добавить в mycert.pem
. Таким образом, mycert.pem
будет иметь два (или более) сертификата (а не один).
Добавление всех необходимых сертификатов в mycert.pem
в попытке построить действующую цепочку решает проблему какой директории. Это хорошо известная проблема в PKI. По сути, клиент (например, я) не знает, куда идти, чтобы получить промежуточные сертификаты.