Подтвердить что ты не робот

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>
4b9b3361

Ответ 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. По сути, клиент (например, я) не знает, куда идти, чтобы получить промежуточные сертификаты.