В данной статье речь пойдёт о том как проверить и собрать цепочку сертификатов с помощью консоли. О том что такое SSL сертификат Вы можете узнать из нашей статьи «SSL сертификаты — особенности и отличия».
Примеры описанные в данной статье выполнены на OS семейства Debian / Ubuntu.
Все описанные ниже команды выполняются в терминале (консоле), из директории в которой расположены все необходимые нам файлы.
Обязательным условием для проверки является наличие установленного пакета openssl, проверить наличие очень легко, достаточно ввести команду:
openssl help
При наличии пакетов Вы получите следующий вывод на экран:
В ином случае Вам стоит установить данный пакет, для этого выполните команду
apt install openssl
Итак, сперва проверим корректность содержимого CSR, выполняем команду
openssl req -text -noout -verify -in server.csr
Стоит обратить внимание на строку
verify — статус корректного файла должен иметь значение «OK»
Немнго о значениях поля Subject:
- C — сокращённое название страны
- ST — область, в которой расположена организация
- L — город, в которой расположена организация
- O — наименование организации
- OU — обозначение отрасли в которой работает компания
- CN — адрес сайта (доменное имя) Вашей компании
- emailAddress — это поле думаю понятно всем, это контактный адрес электронной почты
Далее необходимо проверить корректность ключа, для этого требуется выполнить
openssl rsa -in server.key -check
Опять таки для нас наиболее важной информацией является статус в поле RSA key, если
статус «ok» - с ключом всё в порядке.
Проверяем SSL сертификат:
openssl x509 -in crt.crt -text -noout
В листинге вывода мы видим данные сертификата:
- срок действия сертификата описан в блоке периода действия (Validity)
- Not Before обозначают дату начала действия (не ранее чем)
- Not After дату конца действия (не позже)
- В поле Х….Subject Alternative Name будет содержаться информация о домене для которого
выпущен сертификат
После проделанных действий необходимо сравнить соответствие полученных ключа,
сертификата и CSR.
Выполняется это сравнением MD5 сумм.
Для сертификата
openssl x509 -noout -modulus -in crt.crt |md5sum
Для ключа
openssl rsa -noout -modulus -in key.key |md5sum
Для CSR
openssl req -noout -modulus -in csr.csr | md5sum
Если ключ, сертификат и CSR созданы друг для друга — хешсуммы будут одинаковыми.
Соберем цепочку сертификатов.
Чтобы понять в какой последовательности должны быть добавлены данные необходимо
выполнить команду :
openssl x509 -in имя_сертификата.crt -noout -text | egrep "Subject:|Issuer:"
для каждого сертификата, который был прислан в архиве.
Вывод на экран получается следующего вида:
Сопоставив полученные данные делаем вывод о том, что сертификаты должны идти в
следующем порядке, ссразу добавляем их в bundle.
cat sics_com_ua.crt > ./bundle.bundle
cat SectigoRSADomainValidationSecureServerCA.crt >> ./bundle.bundle
cat USERTrustRSAAddTrustCA.crt >> ./bundle.bundle
cat AddTrustExternalCARoot.crt >> ./bundle.bundle
Стоит обратить внимание на символы > и >>.
Одинарный знак будет перезаписывать файл в то время как двойной дописывать.
После проведённых действий производим проверку сертификатов и bundle на соответствие
по хешсумме.
В том случае если цепочка будет собрана не верно, сумма совпадать не будет.
Для проверки полной цепочки установленной на сайте необходимо выполнить команду:
openssl s_client -connect freehost.com.ua:443
В разделе Certificate chain описывается цепочка.
Также цепочку можно проверить на сайте https://www.sslshopper.com введя необходимое
доменное имя.
У нас Вы можете заказать VPS c ОС Debian и Ubuntu. Если во время использования инструкции у Вас возникнут вопросы, наша техническая поддержка готова прийти на помощь в любое время.
Дата: 20.05.2019 Автор: Сергей
|
|
Авторам статті важлива Ваша думка. Будемо раді його обговорити з Вами:
comments powered by Disqus