- Как проверить сертификат SSL в командной строке Linux?
- Метод проверки сертификата SSL в командной строке Linux Mint 20
- Заключение
- Как просмотреть SSL сертификат используя openssl
- Openssl, проверка SSL-сертификатов через терминал
- 1. Генерация CSR и ключа
- 2. Создание нового CSR для уже имеющегося ключа.
- 3. Проверка корректности CSR
- 4. Проверка корректности ключа
- 5. Проверка данных SSL-сертификата
- 6. Декодирование CSR
- 7. Декодирование SSL-сертификата
- 8. Сравнение соответствия SSL-сертификата и ключа
- 9. Сравнение соответствия SSL-сертификата и CSR
- 10. Проверка правильности порядка установки CA сертификатов.
- PEM, DER, CRT и CER: кодировки и преобразования X.509
- Расширения имени файла PEM
- Как выглядит сертификат PEM?
- Общие преобразования PEM
- Просмотр содержимого файла сертификата PEM
- Конвертировать сертификат PEM в DER
- Преобразовать сертификат PEM с цепочкой доверия в PKCS # 7
- Преобразовать сертификат PEM с цепочкой доверия и секретным ключом в PKCS # 12
- Расширения имени файла DER
- Как выглядит DER-кодированный сертификат?
- Общие преобразования DER
- Просмотр содержимого файла сертификата в кодировке DER
- Конвертировать DER-кодированный сертификат в PEM
- Преобразовать сертификат в кодировке DER с цепочкой доверия и закрытым ключом в PKCS # 12
Как проверить сертификат SSL в командной строке Linux?
SSL — это очень часто используемый интернет-протокол, предназначенный для шифрования сетевого трафика и, следовательно, обеспечения безопасного обмена данными по сети. Всякий раз, когда SSL включен на веб-сайте, с ним связан специальный сертификат SSL. Этот сертификат содержит такую информацию, как доменное имя веб-сервера, имя органа, выдающего сертификат, дату истечения срока действия сертификата и т.д.
В этой статье мы объясним вам метод проверки сертификата SSL через командную строку Linux. Мы используем систему Linux Mint 20, чтобы продемонстрировать этот метод.
Метод проверки сертификата 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.
Источник
Как просмотреть 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 файла)
Источник
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.
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):
Теперь можем увидеть полную цепочку установленных сертификатов с помощью команды:
Получим вывод на экран правильной цепочки подключения сертификатов:
Источник
PEM, DER, CRT и CER: кодировки и преобразования X.509
Возможно, вы видели файлы цифровых сертификатов с различными расширениями имен файлов, такими как .crt , .cer , .pem или .der . Эти расширения обычно соответствуют двум основным схемам кодирования сертификатов и ключей X.509: PEM (Base64 ASCII) и DER (двоичный). Однако есть некоторые совпадения и используются другие расширения, поэтому вы не всегда можете определить, с каким файлом вы работаете, просто взглянув на имя файла; вам может потребоваться открыть его в текстовом редакторе и посмотреть сами.
Работая с цифровыми сертификатами, вы можете столкнуться с необходимостью конвертировать файлы PEM и DER, просматривать их содержимое в виде удобочитаемого текста или объединять их в общие форматы контейнеров, такие как PKCS # 12 или PKCS # 7. В этом руководстве указываются основные различия между файлами PEM и DER и расширениями распространенных имен файлов, связанными с ними. Он также предоставляет наглядные примеры каждой кодировки и иллюстрирует некоторые общие преобразования форматов файлов с OpenSSL.
Что такое OpenSSL?
OpenSSL — очень полезный набор инструментов командной строки с открытым исходным кодом для работы с X.509 сертификаты, запросы на подпись сертификатов (CSRs) и криптографические ключи. Если вы используете вариант UNIX, такой как Linux или macOS, OpenSSL, вероятно, уже установлен на вашем компьютере. Если вы хотите использовать OpenSSL в Windows, вы можете включить Подсистема Linux в Windows 10 или установить Cygwin.
PEM (первоначально «Privacy Eулучшенный Mail ») — наиболее распространенный формат для X.509 сертификаты, CSRи криптографические ключи. Файл PEM представляет собой текстовый файл, содержащий один или несколько элементов в кодировке Base64 ASCII, каждый из которых содержит простые и нижние колонтитулы (например, ——BEGIN CERTIFICATE—— и ——END CERTIFICATE—— ). Один файл PEM может содержать сертификат конечного объекта, закрытый ключ или несколько сертификатов, образующих полную цепочку доверия. Большинство файлов сертификатов, загружаемых с SSL.com, будут в формате PEM.
Расширения имени файла PEM
PEM файлы обычно видны с расширениями .crt , .pem , .cer и .key (для закрытых ключей), но вы также можете видеть их с разными расширениями. Например, файл пакета SSL.com CA, доступный в таблице загрузок в порядке сертификата, имеет расширение .ca-bundle .
Как выглядит сертификат PEM?
SSL /TLS сертификат для www.ssl.com ниже показан в формате PEM (нажмите для просмотра):
Общие преобразования PEM
В приведенных ниже командах OpenSSL замените имена файлов ВСЕМИ ЗАГЛАВНЫМИ буквами фактическими путями и именами файлов, с которыми вы работаете.
Просмотр содержимого файла сертификата PEM
Конвертировать сертификат PEM в DER
Преобразовать сертификат PEM с цепочкой доверия в PKCS # 7
PKCS # 7 (также известный как P7B) — это контейнерный формат для цифровых сертификатов, который чаще всего встречается в контексте серверов Windows и Java и обычно имеет расширение .p7b , Файлы PKCS # 7 не используются для хранения закрытых ключей. В приведенном ниже примере -certfile MORE.pem представляет файл со связанными промежуточными и корневыми сертификатами (такими как .ca-bundle файл, скачанный с SSL.com).
Преобразовать сертификат PEM с цепочкой доверия и секретным ключом в PKCS # 12
PKCS # 12 (также известный как PKCS12 или PFX) является распространенным двоичным форматом для хранения цепочки сертификатов и закрытого ключа в одном зашифрованном файле и обычно имеет расширения имени файла. .p12 or .pfx , В приведенном ниже примере -certfile MORE.pem добавляет файл со связанными промежуточными и корневыми сертификатами (такими как .ca-bundle файл, загруженный с SSL.com), и -inkey PRIVATEKEY.key добавляет закрытый ключ для CERTIFICATE.crt (сертификат конечного объекта). Посмотри пожалуйста это как для более подробного объяснения показанной команды.
После выполнения указанной выше команды вам будет предложено создать пароль для защиты файла PKCS # 12. Запомните этот пароль. Он понадобится вам для доступа к любым сертификатам и ключам, хранящимся в файле.
DER (отличительные правила кодирования) это двоичная кодировка для X.509 сертификаты и закрытые ключи. В отличие от PEM, файлы в кодировке DER не содержат текстовых операторов, таких как ——BEGIN CERTIFICATE—— , Файлы DER чаще всего встречаются в контексте Java.
Расширения имени файла DER
DER-кодированные файлы обычно находятся с расширениями .der и .cer .
Как выглядит DER-кодированный сертификат?
SSL в кодировке DER /TLS сертификат для www.ssl.com показано ниже (нажмите для просмотра):
Общие преобразования DER
В приведенных ниже командах OpenSSL замените имена файлов ВСЕМИ ЗАГЛАВНЫМИ буквами фактическими путями и именами файлов, с которыми вы работаете.
Просмотр содержимого файла сертификата в кодировке DER
Конвертировать DER-кодированный сертификат в PEM
Преобразовать сертификат в кодировке DER с цепочкой доверия и закрытым ключом в PKCS # 12
Чтобы преобразовать сертификат DER в PKCS # 12, его следует сначала преобразовать в PEM, а затем объединить с любыми дополнительными сертификатами и / или закрытым ключом, как показано выше. Для более подробного описания преобразования DER в PKCS # 12, пожалуйста, смотрите это как.
Источник