Как посмотреть содержание сертификата linux

Как просмотреть все сертификаты ssl в комплекте?

У меня есть файл .crt.

Выполнение openssl x509 -in bundle.crt -text -noout показывает только корневой сертификат.

как я могу увидеть все остальные сертификаты?

10 ответов

Это действительно сработало для меня, но я не понимаю детали, поэтому не могу сказать, есть ли какие-либо оговорки.

Следуя этим часто задаваемым вопросам , я привел меня к этот скрипт perl , который очень сильно подсказывает мне, что openssl не имеет встроенной поддержки обработки сертификат n th в пакете, и вместо этого мы должны использовать какой-либо инструмент для нарезки и ввода данных перед загрузкой каждого сертификата в openssl . Этот скрипт perl, свободно адаптированный из сценария Ника Берча, связанного выше, кажется, выполняет эту работу:

Java keytool выполняет трюк:

Аннотация: Windows doubleclick не работает. Windows считывает только первый сертификат в хранилище ключей и автоматически расширяет доверительную цепочку из встроенного хранилища сертификатов.

  1. Все, кроме первого сертификата в файле .crt , не отображаются
  2. В файле .crt вы можете получить другую контрольную цепочку, чем в файле —-+:=4=:+—- . Это может привести к неправильным выводам.

Это может быть не очень красиво или изящно, но это было быстро и сработало для меня, используя bash on linux и блоки с форматированием PEM в файле пакета ca-cert.

Вы можете поместить все в одну строку и отрегулировать параметры openssl. Мне очень жаль, что для этого было более элегантное решение, но в этом случае я думаю, что найти более элегантное решение заняло бы больше времени, чем взломать неэлегантный.

Поскольку нет решения на основе awk:

Первая команда разделяет пакет на сертификаты, ища строки BEGIN и END. Вторая команда проходит через извлеченные сертификаты и показывает их.

Oneliner, отображающий сводку каждого сертификата в файле.

(аналогичный коммандос упоминается в другом ответе, но это дает более короткий вывод без опции -text).

В bash обычно требуется только одна (длинная) строка кода: -)

Небольшое внесение изменений в сообщение MadHatter, чтобы вы могли скопировать /вставить прямо в CLI. Я также включил хэш MD5, что полезно, когда удостоверяются, что сертификаты верны. Возвращаемая строка stdin представляет собой хеш md5 сертификата (ов).

Если вы хотите увидеть хороший короткий краткий вывод, вы используете эту версию. Полезно, если вы только проверяете, что вы включили весь свой сертификат, но на самом деле не проверяете использование /etc сертификата (ов).

На всякий случай, если ваша версия openssl не поддерживает все эти флаги, вы можете использовать некоторые egrep. То же самое, что и первое, но только pipe to egrep.

Читайте также:  Windows 10 принтер отключен что делать

Чтобы проверить хэш MD5 закрытого ключа, вы можете сделать следующее.

openssl rsa -noout -modulus -in privateKey.key | openssl md5

Вот решение на основе awk, которое не полагается на промежуточные файлы.

Он работает, читая блоки PEM из stdin и конкатенируя каждый блок в одиночную строку с кодировкой base64. Затем строки считываются, декодируются и передаются в openssl как DER-кодированные сертификаты.

Метод Windows

Один из способов увидеть всю цепочку (в Windows, конечно), чтобы дважды щелкнуть crt, а затем посмотреть на вкладке «Путь к сертификату». Он покажет всю цепочку, даже если есть только промежуточный, или Root Cert. Подробнее см. Снимок экрана ниже. Если вы не в Windows, я приношу свои извинения за недостаток знаний с вариантами Unix /Linux.

Примечание: это может привести к ложным результатам, если промежуточный сертификат находится в вашем локальном хранилище ключей. Windows добавит его автоматически и не покажет только то, что было в комплекте.

                                             Â

Linux (метод Ubuntu)

Я забыл вашу первоначальную команду, и у вас есть одна вещь не к месту. Ваша команда должна выглядеть так:

Источник

Как просмотреть SSL сертификат используя openssl

Рассмотрим как просмотреть SSL сертификат в консоли Linux сервера — этот способ универсален, поскольку далеко не все сертификаты сразу устанавливаются на Apache или Nginx.

Достаточно выполнить одну команду указав в ней имя файла

openssl x509 -in example.crt -text -noout

Certificate:
Data:
Version: 1 (0x0)
Serial Number:
df:d0:88:c4:0e:cd:bb:e9
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=RU, ST=State, L=City, O=CompanyName, OU=IT, CN=example.com/emailAddress=test@example.com
Validity
Not Before: Dec 24 08:16:50 2017 GMT
Not After : Dec 24 08:16:50 2018 GMT
Subject: C=RU, ST=State, L=City, O=CompanyName, OU=IT, CN=example.com/emailAddress=test@example.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (1024 bit)
Modulus:
00:ce:14:1e:b9:63:c8:d3:80:bc:de:bc:0b:af:c4:

a1:b4:97:06:28:11:ac:1f:69
Exponent: 65537 (0x10001)
Signature Algorithm: sha256WithRSAEncryption

9e:75:e5:41:2b:b9:c4:36:79:08:4b:06:4e:f8:50:4b:86:aa:
cd:04

Чаще всего на практике возникает необходимость выяснить для какого имени выпущен сертификат — в данном случае это example.com, что явно видно из вывода.

Для демонстрации использовался самоподписанный сертификат, сгенерированный на сервере

Таким же образом можно посмотреть содержимое запроса на выпуск сертификата (.pem или .csr файла)

Источник

Как проверить сертификат SSL в командной строке Linux?

SSL — это очень часто используемый интернет-протокол, предназначенный для шифрования сетевого трафика и, следовательно, обеспечения безопасного обмена данными по сети. Всякий раз, когда SSL включен на веб-сайте, с ним связан специальный сертификат SSL. Этот сертификат содержит такую ​​информацию, как доменное имя веб-сервера, имя органа, выдающего сертификат, дату истечения срока действия сертификата и т.д.

В этой статье мы объясним вам метод проверки сертификата SSL через командную строку Linux. Мы используем систему Linux Mint 20, чтобы продемонстрировать этот метод.

Читайте также:  Windows зависает после ввода пароля

Метод проверки сертификата SSL в командной строке Linux Mint 20

Чтобы проверить SSL-сертификат любого желаемого веб-сервера на определенном номере порта, вам нужно будет выполнить следующую команду в своем терминале Linux Mint 20:

Здесь вам нужно будет заменить WebServerURL именем веб-сервера, чей SSL-сертификат вы хотите проверить, а PortNumber — точным номером порта, к которому подключен этот веб-сервер. Мы заменили WebServerURL на google.com и PortNumber на 80, как показано на изображении ниже:

Информация о сертификате SSL указанного веб-сервера показана в командной строке Linux Mint 20 на следующем изображении:

Заключение

Следуя методу, описанному в этой статье, вы легко сможете проверить SSL-сертификат любого желаемого веб-сервера через командную строку Linux Mint 20. Этот метод основан на одной команде; следовательно, вы сможете быстро достичь желаемой цели. Более того, ту же процедуру можно использовать в системе Ubuntu 20.04 или Debian 10.

Источник

Openssl, проверка SSL-сертификатов через терминал

При установке SSL-сертификатов возникают различные вопросы. Эта статья поможет найти ответы на большинство из них.

OpenSSL — криптографический пакет с открытым исходным кодом для работы с SSL/TLS. Позволяет создавать ключи RSA, DH, DSA и сертификаты X.509, подписывать их, формировать CSR и CRT. Также имеется возможность шифрования данных и тестирования SSL/TLS соединений.

Рассмотрим на примерах следующие случаи:
1. Генерация CSR и ключа.
2. Создание нового CSR для уже имеющегося ключа.
3. Проверка корректности CSR.
4. Проверка корректности ключа.
5. Проверка данных SSL-сертификата.
6. Декодирование CSR.
7. Декодирование SSL-сертификата.
8. Сравнение соответствия SSL-сертификата и CSR.
9. Сравнение соответствия SSL-сертификата и ключа.
10. Проверка правильности порядка установки CA сертификатов.

Первое что нужно сделать — это зайти по SSH на сервер и установить OpenSSL.

1. Генерация CSR и ключа

Перейдем в директорию, в которой будут хранится файлы CSR и ключа:

Далее выполняем команду генерации CSR и ключа:

server.csr – имя файла CSR;

server.key – имя файла ключа;

имена можно менять по своему усмотрению.

После ввода команды, так же как и через онлайн генератор CSR нужно ввести данные в поля:

Проверяем создались ли файлы:

Файлы создались, все в порядке. Можно заказывать SSL-сертификат.

Подробно о заказе и установке SSL-сертификата можно ознакомиться в статье “Заказ и установка SSL сертификата на хостинг Ukrnames”

Мы получили файлы сертификата (ukrnames_idua_org, ca_1, ca_2, ca_3) и переместим их так же в папку /etc/ssl/certs/

Можем переходить теперь к следующим пунктам статьи.

2. Создание нового CSR для уже имеющегося ключа.

Случаются ситуации, когда требуется продлить SSL-сертификат. Нужно заново вводить CSR запрос, но т.к. выполнялся заказ SSL-сертификата около года назад, то CSR файла у нас в большинстве случаев уже нет.

Данная команда позволит заново сгенерировать CSR-запрос на основании имеющегося у нас ключа (в данном примере ключ у нас находится в папке /etc/ssl/certs/server.key):

И вновь нужно вводить данные CSR.

Потом можем копировать данные файла server.csr и продлевать SSL-сертификат, копировать ключ уже не нужно, он заново сгенерирован в старый файл ключа /etc/ssl/certs/server.key.

Читайте также:  Mac os safari extensions

3. Проверка корректности CSR

Выполним команду для проверки корректности содержимого CSR:

Получаем вывод, в котором стоит обратить внимание на поле verify , если стоит статус “OK” , значит с CSR все в порядке.

4. Проверка корректности ключа

Выполним команду для проверки корректности содержимого ключа:

Получаем вывод, в котором стоит обратить внимание на поле RSA key, если стоит статус “ok”, значит с ключом все в порядке.

5. Проверка данных SSL-сертификата

Переименуем для удобства файл сертификата ukrnames_idua_org в server.crt с помощью команды:

Выполним команду для проверки данных SSL-сертификата:

Получаем вывод, в котором можно ознакомится с подробностями SSL-сертификата (кто выдал, для какого домена выдан и т.д.).


6. Декодирование CSR

Иногда после генерации CSR хочется проверить правильность ввода данных. Для этого достаточно выполнить команду:

Получим вывод, в котором стоит обратить внимание на поле “Subject:”, в нем указаны все вводимые нами данные.

7. Декодирование SSL-сертификата

Вывести данные SSL-сертификата можно командой:

Вывод будет эдентичен выводу в пункте 5.

8. Сравнение соответствия SSL-сертификата и ключа

Для того чтобы сравнить SSL-сертификат и ключ, нужно будет вывести хеши данных их файлов и сравнить.

Получим вывод на экран хешей:

Невооруженным взглядом можно увидеть, что хеши совпадают, значит сертификат соответствует ключу.

9. Сравнение соответствия SSL-сертификата и CSR

Для данного примера заменим данные CSR файла /etc/ssl/certs/server.csr на другие:

Выполним команды для вывода хешей файлов /etc/ssl/certs/server.crt и /etc/ssl/certs/server.csr:

Получим вывод на экран:

Как видим, хеши отличаются – это означает, что сертификат не совпадает с CSR.

10. Проверка правильности порядка установки CA сертификатов.

На данном сервере, где выполнялись работы с openssl, установим веб-сервер, подключим домен ukrnames.idua.org и установим для него SSL-сертификат.

Т.к. веб-сервер не имеет доступа к папке /etc/ssl/certs/ , то копируем ключ, сертификат и промежуточные сертификаты в новосозданную папку /var/www/ssl/

В файле конфигурации веб-сервера подключаем файлы SSL-сертификата. Но чтобы все корректно работало, нужно создать файл для промежуточных сертификатов (к примеру ca.pem) и внести в него с определенной последовательностью данные файлов промежуточных сертификатов (ca_1, ca_2, ca_3).

Чтобы понять в какой последовательности нужно добавлять файлы, выполним ряд действий.

Получаем данные об издателе основного сертификата:

Теперь получим данные о промежуточных сертификатах ca_1, ca_2, ca_3 (нужно обращать внимание только на поля “Issuer:” и “Subject:”):

Получим вывод на экран:

Сопоставив данные сертификата и промежуточных сертификатов, можно сделать вывод, что после основного сертификата первым промежуточным должен идти сертификат ca_3, т.к. в поле “Subject:” раздел CN файла ca_3 совпадает с полем “Issuer:” разделом CN (CN=COMODO RSA Domain Validation Secure Server CA).

Далее смотрим на поле “Issure:” раздел CN файла ca_3 (CN=COMODO RSA Certification Authority). Ищем в выводах файлов ca_2 и ca_1 совпадение в полях “Subject:” . Совпадение найдено в файле ca_2, данный файл мы будем подключать вторым.

И методом исключения, файл ca_1 будет подключаться самым последним.

Выполняем команды для объединения всех файлов промежуточных сертификатов(ca_1, ca_2, ca_3) в один (ca.pem):

Теперь можем увидеть полную цепочку установленных сертификатов с помощью команды:

Получим вывод на экран правильной цепочки подключения сертификатов:

Источник

Оцените статью