Как проверить сертификат с помощью команд OpenSSL в Linux?

Если Вы управляете веб-сайтом или сервером, убедиться в том, что Ваш SSL-сертификат действителен и правильно настроен, – первоочередная задача. Один из способов сделать это – OpenSSL, популярная криптографическая утилита с открытым исходным кодом.

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


Оглавление

  1. Как проверить версию OpenSSL?
  2. Как просмотреть полную информацию о сертификате
  3. Просмотр самого SSL-сертификата (в кодировке)
  4. Проверьте, совпадает ли ключ с сертификатом
  5. Проверьте, кто выдал SSL-сертификат
  6. Проверьте, кому выдан SSL-сертификат
  7. Проверка валидности SSL-сертификата в Linux
  8. Отображение всей вышеперечисленной информации о SSL-сертификате

Как проверить версию OpenSSL?

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

Версия openssl -a

Проверьте версию OpenSSL

Файлы сертификатов в Linux по умолчанию находятся в папке /etc/pki/tls/certs или иногда в папке, предназначенной для конкретного приложения, например, /etc/httpd для Apache. Обычно они используют расширения .pem или .crt и, скорее всего, будут называться yourdomain.pem или yourdomain.crt, но иногда используется и общее имя “серверного” файла.

Если Вы подали заявку на получение SSL-сертификата и установили его на сервер, Вы уже должны знать его местоположение и имена файлов.


Как просмотреть полную информацию о сертификате

Вы можете использовать OpenSSL для проверки действительности сертификата, его эмитента и субъекта по отдельности или за один раз. Убедитесь, что у Вас есть доступ к серверу и терминалу SSH.

OpenSSL предоставляет богатый набор команд для создания, установки и управления сертификатами. Чтобы проверить детали конкретного сертификата, выполните следующую команду:

openssl x509 -in /root/mycertificate.crt -text -noout

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

Посмотреть полную информацию о сертификате

Просмотр самого SSL-сертификата (в кодировке)

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

$ echo | openssl s_client -servername howtouselinux.com -connect yourplc.com:443 2>/dev/null | openssl x509

Просмотр SSL-сертификата

Проверьте, совпадает ли ключ с сертификатом

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

openssl pkey -pubout -in privateKey.key | openssl sha256

Pub Key

openssl req -pubkey -in CSR.csr -noout | openssl sha256

Открытый ключ CSR

openssl x509 -pubkey -in certificate.crt -noout | openssl sha256

Сертификат открытого ключа

Проверьте, кто выдал SSL-сертификат

Если Вы хотите проверить издателя SSL-сертификата, выполните приведенную ниже командную строку. Он покажет Вам центр сертификации, подписавший сертификат.

echo | openssl s_client -servername yourplc.com -connect yourplc.com:443 2>/dev/null | openssl x509 -noout -issuer


Проверьте, кому выдан SSL-сертификат

Вы также можете проверить тему сертификата SSL. В зависимости от типа проверки, Вы увидите только общее название или также официальное название компании.

$ echo | openssl s_client -servername .com -connect howtoyourplcuselinux.com:443 2>/dev/null | openssl x509 -noout -subject


Проверка валидности SSL-сертификата в Linux

Важно знать, когда истекает срок действия SSL-сертификата, чтобы Вы могли продлить его заранее и избежать возможных сбоев в работе сайта и утечки данных. Вот как проверить срок действия SSL-сертификата в Linux:

$ echo | openssl s_client -servername howtouselinux.com -connect yourplc.com:443 2>/dev/null | openssl x509 -noout -dates


Отображение всей вышеперечисленной информации о SSL-сертификате

Вы также можете использовать команду OpenSSL для проверки эмитента, темы и срока действия сертификата с помощью следующей команды:

$ echo | openssl s_client -servername howtouselinux.com -connect yourplc.com:443 2>/dev/null | openssl x509 -noout -issuer -subject -dates

Полная информация о сертификате

Заключительные слова

Если что-то не так с Вашим SSL-соединением, проверка данных Вашего сертификата – это первый шаг к поиску виновника. В OpenSSL у Вас есть отличная утилита для выполнения всевозможных проверок, начиная от проверки эмитента сертификата и заканчивая анализом технических данных и выяснением, когда истекает срок действия сертификата. OpenSSL интегрируется в Linux и обеспечивает контроль над установкой SSL с помощью гибкой командной строки.

Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Написано

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