Я пытаюсь проверить / подтвердить, что ключ rsa, ca-bundle и сертификат, хранящиеся здесь, в порядке. Они не обслуживаются веб-сервером. Как я могу их проверить?
command-line
ssl
openssl
xenoterracide
источник
источник
openssl x509
раздел руководства.Ответы:
Предполагая, что ваши сертификаты в формате PEM, вы можете сделать:
Если ваш "ca-bundle" является файлом, содержащим дополнительные промежуточные сертификаты в формате PEM:
Если ваш openssl не настроен на автоматическое использование установленного набора корневых сертификатов (например, в
/etc/ssl/certs
), вы можете использовать-CApath
или,-CAfile
чтобы указать CA.источник
-CApath nosuchdir
то комбинация server.crt и cacert.pem должна включать корневой CA; если openssl может работать только с промежуточным CA с этими файлами, то он будет жаловаться./certs/
. это вызовет проблемы? потому что я застрял в ситуации, когда мой сервер работает, http curl работает, но https .. curl получает ошибку. где сайт перестал работать.Вот одна строка для проверки цепочки сертификатов:
Это не требует установки 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
был существующим каталогом.