Я пытаюсь проверить / подтвердить, что ключ rsa, ca-bundle и сертификат, хранящиеся здесь, в порядке. Они не обслуживаются веб-сервером. Как я могу их проверить?
Я пытаюсь проверить / подтвердить, что ключ rsa, ca-bundle и сертификат, хранящиеся здесь, в порядке. Они не обслуживаются веб-сервером. Как я могу их проверить?
Ответы:
Предполагая, что ваши сертификаты в формате PEM, вы можете сделать:
openssl verify cert.pem
Если ваш "ca-bundle" является файлом, содержащим дополнительные промежуточные сертификаты в формате PEM:
openssl verify -untrusted ca-bundle cert.pem
Если ваш openssl не настроен на автоматическое использование установленного набора корневых сертификатов (например, в /etc/ssl/certs
), вы можете использовать -CApath
или, -CAfile
чтобы указать CA.
-CApath nosuchdir
то комбинация server.crt и cacert.pem должна включать корневой CA; если openssl может работать только с промежуточным CA с этими файлами, то он будет жаловаться.
/certs/
. это вызовет проблемы? потому что я застрял в ситуации, когда мой сервер работает, http curl работает, но https .. curl получает ошибку. где сайт перестал работать.
Вот одна строка для проверки цепочки сертификатов:
openssl verify -verbose -x509_strict -CAfile ca.pem -CApath nosuchdir cert_chain.pem
Это не требует установки CA в любом месте.
См. Https://stackoverflow.com/questions/20409534/how-does-an-ssl-certificate-chain-bundle-work для получения подробной информации.
-CApath nosuchdir
это, чтобы ответить. Спасибо.
-CAfile
, сам является просто промежуточным сертификатом, то openssl будет жаловаться. Это правильное поведение, поскольку verify
требует полной цепочки вплоть до корневого ЦС, но может вводить в заблуждение.
OpenSSL 1.1.1 11 Sep 2018
) требует, чтобы аргумент -CApath
был существующим каталогом.
openssl x509
раздел руководства.