У меня есть сертификат конечного объекта / сервера, который имеет промежуточный и корневой сертификат. Когда я cat
на сертификате конечного объекта, я вижу только один BEGIN
и END
тег. Это единственный сертификат конечного объекта.
Есть ли способ просмотра содержимого промежуточного и корневого сертификата. Мне нужно только содержание BEGIN
и END
тег.
В Windows я вижу полную цепочку сертификатов из «Пути сертификации». Ниже приведен пример для сертификата Stack Exchange.
Оттуда я могу выполнить Просмотр сертификата и экспортировать их. Я могу сделать это для корневого и промежуточного в Windows. Я ищу этот же метод в Linux.
openssl
ssl
certificates
Анирбан Наг 'tintinmj'
источник
источник
Ответы:
С веб-сайта вы можете сделать:
Это покажет цепочку сертификатов и все сертификаты, представленные сервером.
Теперь, если я сохраню эти два сертификата в файлы, я могу использовать
openssl verify
:-untrusted
Параметр используется , чтобы дать промежуточный сертификат (ы);se.crt
это сертификат для проверки. Результат глубины = 2 поступил из доверенного хранилища CA системы.Если у вас нет промежуточного сертификата (ов), вы не можете выполнить проверку. Вот как работает X.509.
В зависимости от сертификата он может содержать URI для получения промежуточного звена. В качестве примера
openssl x509 -in se.crt -noout -text
содержит:Этот URI «CA Issuers» указывает на промежуточный сертификат (в формате DER, поэтому вам необходимо использовать его
openssl x509 -inform der -in DigiCertSHA2HighAssuranceServerCA.crt -out DigiCertSHA2HighAssuranceServerCA.pem
для преобразования для дальнейшего использования OpenSSL).Если вы запустите,
openssl x509 -in /tmp/DigiCertSHA2HighAssuranceServerCA.pem -noout -issuer_hash
вы получите244b5494
, что вы можете найти в системном хранилище корневого центра сертификации/etc/ssl/certs/244b5494.0
(просто добавьте.0
к имени).Я не думаю, что есть хорошая и простая команда OpenSSL, которая сделает все это за вас.
источник
BEGIN
иEND
тэгом (который вы получите только послеcat
загрузки файла .crt.openssl x509 -in file.crt -noout -text
BEGIN
иEND
тегами.openssl x509
командой, я не думаю, что промежуточный сертификат есть. (Если вы не получили какую-то ошибку отopenssl x509
).tl; dr - магия одного лайнера, чтобы сбросить все сертификаты в цепочке
Объяснение в 2 шага
Для сброса всех сертификатов в цепочке в текущий каталог
cert${chain_number}.pem
:бонус-трек, чтобы переименовать их в их общее имя:
источник