Недавно на одной из моих машин был установлен прокси, что означает, что некоторые программы, с которыми я работал, больше не работают.
Когда я пытаюсь выполнить «openssl s_client -showcerts -connect remoteserver: remoteport», он представляет мне прекрасный «Проверить код возврата: 20 (невозможно получить сертификат локального эмитента)», я полагаю, это потому, что промежуточный (прокси) сертификат не распознается.
Если мое предположение верно, я считаю, что мне нужно установить корневой сертификат прокси, чтобы мои программы снова работали.
Мне дали файл .cer, который я преобразовал в файл pem следующим образом:
openssl x509 -inform der -in certificate.cer -out certificate.pem
Затем я получил хеш pem (как предлагается здесь https://stackoverflow.com/questions/12041512/openssl-unable-to-get-local-issuer-certificate-unless-cafile-is-explicitly-speci):
openssl x509 -issuer_hash -noout -in certificate.pem
это дало мне строку (например, a8a87a6a).
Затем я пошел и скопировал файл pem, переименованный как a8a87a6a в / etc / pki / tls / certs, однако я все еще получаю тот же «Проверить код возврата: 20 (невозможно получить сертификат местного эмитента)» даже при работе с «-CApath / и т. д. / pki / tls / certs / ".
Я также попытался переименовать файл, чтобы он имел расширения .pem .crt .cer, но безрезультатно.
Довольно разочарован этим, как я могу заставить этот сертификат быть признан действительным и снова заставить мои вещи работать?
В CentOS 5 доверенные сертификаты находятся в /etc/pki/tls/certs/ca-bundle.crt. Просто добавьте в этот файл свой новый доверенный сертификат.
Это ответ на ваш вопрос, как добавить новый сертификат. Но, вероятно, это не решит вашу проблему. Весьма вероятно, что ваш сертификат прокси (имя CN) не будет соответствовать вашей службе CN.