Если Вы управляете веб-сайтом или сервером, убедиться в том, что Ваш SSL-сертификат действителен и правильно настроен, – первоочередная задача. Один из способов сделать это – OpenSSL, популярная криптографическая утилита с открытым исходным кодом.
Вы можете использовать OpenSSL для проверки даты истечения срока действия сертификата, эмитента и субъекта. В этой статье мы покажем Вам , как проверить сертификат с помощью команд OpenSSL в Linux. Если Вы веб-разработчик, системный администратор или просто интересуетесь SSL, в этом руководстве Вы найдете точные шаги и командные строки для проверки сертификатов с помощью OpenSSL.
Оглавление
- Как проверить версию OpenSSL?
- Как просмотреть полную информацию о сертификате
- Просмотр самого SSL-сертификата (в кодировке)
- Проверьте, совпадает ли ключ с сертификатом
- Проверьте, кто выдал SSL-сертификат
- Проверьте, кому выдан SSL-сертификат
- Проверка валидности SSL-сертификата в Linux
- Отображение всей вышеперечисленной информации о SSL-сертификате
Как проверить версию OpenSSL?
В большинстве систем Linux OpenSSL уже предустановлен, но лучше убедиться, что у Вас есть последняя работающая версия. Вы можете проверить версию OpenSSL, выполнив следующую команду:
Версия openssl -a
Файлы сертификатов в 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
Проверьте, совпадает ли ключ с сертификатом
Чтобы проверить, совпадают ли открытый и закрытый ключи, Вам нужно извлечь открытый ключ из каждого файла и сгенерировать для него хэш-вывод. Все три файла должны иметь один и тот же открытый ключ и одно и то же хэш-значение. Вот как использовать OpenSSL для проверки сертификатов и ключей. Выполните следующие команды, чтобы сгенерировать хэш открытого ключа каждого файла:
openssl pkey -pubout -in privateKey.key | openssl sha256
openssl req -pubkey -in CSR.csr -noout | openssl sha256
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