Проверить pem сертификат linux

Содержание
  1. Примеры использования OpenSSL в Unix/Linux
  2. Примеры использования OpenSSL в Unix/Linux
  3. Создание нового приватного ключа (Private Key) и Certificate Signing Request (CSR).
  4. Создание самоподписанного сертификата (Self-Signed Certificate).
  5. Проверка CSR файла.
  6. Создать приватный RSA ключ (Private Key).
  7. Удалить ключевую фразу (Passphrase) с ключа.
  8. Проверка сертификата (Certificate).
  9. Проверка подписанного сертификата (Certificate Signer Authority).
  10. Создать тестовый SSL сервер.
  11. Проверить хеш вашего сертификата.
  12. Конвертирование сертификатов с DER в PEM формат.
  13. Конвертирование сертификатов с PEM в DER формат.
  14. Конвертирование CSR c DER в PEM формат.
  15. Конвертирование сертификата и приватного ключа в PKCS#12 фотмат.
  16. Создание CSR используя приватный ключ (private key).
  17. Проверьте содержимое сертификата в PKCS12 формате.
  18. Конвертирование PKCS12 формата в PEM сертификат.
  19. Получить SHA-1 отпечаток сертификата или CSR
  20. Получить MD5 отпечаток сертификата или CSR
  21. Тестирование SSL сертификата по URL.
  22. Поверка PEM сертификата на завершение (Expiration Date).
  23. Проверка завершения SSL сертификата (Expiration Date) по URL.
  24. Проверить поддержку SSL версии V2/V3 по URL.
  25. Проверка поддержки cipher для сайта по URL.
  26. Какой алгоритм используется в сертификате (проверка).
  27. Получить сертификат по URL
  28. OpenSSL -что это? 21 пример команд OpenSSL, которые помогут вам на практике
  29. 1. Создание нового секретного ключа и запрос на получение сертификата
  30. 2. Создание самозаверяемого сертификата
  31. 3. Верификация CSR-файла
  32. 4. Создание секретного RSA-ключа
  33. 5. Удаление пароля-фразы из ключа
  34. 6. Верификация секретного ключа
  35. 7. Верификация файла сертификата
  36. 8. Верификация центра сертификации
  37. 9. Проверка хеш-значения сертификата
  38. 10. Преобразование формата DER в PEM
  39. 11. Преобразование формата PEM в DER
  40. 12. Преобразование сертификата и секретного ключа в формат PKCS#12
  41. 13. Создание CSR с использованием существующего секретного ключа
  42. 14. Проверка содержимого сертификата в формате PKCS12
  43. 15. Преобразование формата PKCS12 в PEM-сертификат
  44. 16. Проверка SSL-сертификата определенного URL-адреса
  45. 17. Определение версии OpenSSL
  46. 18. Проверка даты истечения срока действия PEM-файла
  47. 19. Проверка срока действия SSL-сертификата для URL-адреса
  48. 20. Проверка, принимается ли на URL-адресеSSL V2 или V
  49. 21. Проверка того, принимается ли конкретный шифр на URL-адресе
  50. Openssl, проверка SSL-сертификатов через терминал
  51. 1. Генерация CSR и ключа
  52. 2. Создание нового CSR для уже имеющегося ключа.
  53. 3. Проверка корректности CSR
  54. 4. Проверка корректности ключа
  55. 5. Проверка данных SSL-сертификата
  56. 6. Декодирование CSR
  57. 7. Декодирование SSL-сертификата
  58. 8. Сравнение соответствия SSL-сертификата и ключа
  59. 9. Сравнение соответствия SSL-сертификата и CSR
  60. 10. Проверка правильности порядка установки CA сертификатов.

Примеры использования OpenSSL в Unix/Linux

Примеры использования OpenSSL в Unix/Linux

При работе с SSL, нужно уметь работать с утилитой OpenSSL чтобы создавать, конвертировать, управляют SSL-сертификатами. В этой статье «Примеры использования OpenSSL в Unix/Linux» я буду говорить о примерах использования OpenSSL.

Некоторые из сокращений, связанных с сертификатами:

  • SSL – Secure Socket Layer (Безопасный уровень сокета).
  • CSR – Certificate Signing Request (Запрос на подпись сертификата).
  • TLS – Transport Layer Security (Транспортный уровень безопастности).
  • PEM – Privacy Enhanced Mail
  • DER – Distinguished Encoding Rules
  • SHA – Secure Hash Algorithm (Безопасный hash алгорит).
  • PKCS – Public-Key Cryptography Standards (Стандарты шифрования публичных ключей).

Создание нового приватного ключа (Private Key) и Certificate Signing Request (CSR).

Команда выше будет генерировать CSR и 2048-битный RSA ключ. Если вы собираетесь использовать этот сертификат в Apache или Nginx, то вам необходимо отправить этот CSR файл в службу сертификации и они дадут вам подписанный сертификат в «der» или «pem» формате. После чего вы настроите его на веб-сервере Apache или Nginx.

Так же, можно использовать такой вариант:

Создание самоподписанного сертификата (Self-Signed Certificate).

Команда выше будет генерировать самоподписанный сертификат (self-signed) и 2048-битный RSA ключ. Я также использую алгорит шифрования — SHA256. Так как он считается наиболее безопасным в данный момент.

Замечание: По умолчанию, будет сгенерирован ключ толкьо на 1 месяц, если нужно создать на более длительное время — используйте опцию «–days», пример использования ниже.

Пример: Чтобы создать self-signed сертификат на 2 год, используйте:

Проверка CSR файла.

и вы получите информацию.

Проверка подписи (signature):

Кем(кому) был выдан сертификат:

Показать открытый ключ (public key):

Создать приватный RSA ключ (Private Key).

Чтобы это сделать, выполните:

Если вам просто нужно генерировать RSA закрытый ключ, вы можете использовать команду что выше. Я включил 2048 шифрование, для безопастности.

Удалить ключевую фразу (Passphrase) с ключа.

Если вы установили ключевую фразу для ключа, то при каждом старте веб-сервера (Apache/Nginx) вы должны будите вводить пароль. Если это вас злит, вы можете с легкостью удалить passphrase с RSA ключа.

Читайте также:  Как поменять домен пользователя windows

Проверка приватного ключа (Private Key)

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

Проверка сертификата (Certificate).

Если вы хотите проверить данные сертификата( CN, OU, и т.д.), то вы можете использовать команду, которая даст вам сведения о сертификате:

Команда довольна простая в использовании.

Проверка подписанного сертификата (Certificate Signer Authority).

Можно узнать много полезного.

Создать тестовый SSL сервер.

Команда OpenSSL s_server реализует общий SSL/TLS-сервер. Она должна использоваться только для целей тестирования. В приведенном ниже примере данный сервер прослушивает соединения на порту 8080 и возвращает отформатированную HTML страницу статуса, который включает много информации о ciphers:

Проверить хеш вашего сертификата.

Конвертирование сертификатов с DER в PEM формат.

Как правило, при покупке SSL сертификатов, его отдают вам в формате .der и если вам нужно использовать его в веб-сервере или .pem формате, вы можете использовать команду выше, чтобы преобразовать такие сертификаты.

Конвертирование сертификатов с PEM в DER формат.

В случае, если вам необходимо изменить .pem формат в .der:

Конвертирование CSR c DER в PEM формат.

Конвертирование сертификата и приватного ключа в PKCS#12 фотмат.

Если вам необходимо использовать сертификат с приложением Java или с любым другим, кто принимает формат PKCS# 12.

Совет: Вы можете включить «chain certificate» используя «-chain» опцию:

Создание CSR используя приватный ключ (private key).

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

Проверьте содержимое сертификата в PKCS12 формате.

PKCS12 — это двоичный формат, так что вы не сможете просматривать содержимое в блокноте или другом редакторе. Таким образом, вы должны использовать команду что выше, для просмотра содержимого файла формата PKCS12.

Конвертирование PKCS12 формата в PEM сертификат.

Получить SHA-1 отпечаток сертификата или CSR

Чтобы получить отпечаток SHA1 сертификата с использованием OpenSSL, используйте команду, приведенную ниже:

Чтобы получить SHA1 отпечаток пальца CSR с использованием OpenSSL, используйте команду, приведенную ниже:

Получить MD5 отпечаток сертификата или CSR

Чтобы получить отпечаток MD5 сертификата с использованием OpenSSL, используйте команду, приведенную ниже:

Чтобы получить MD5 отпечаток пальца CSR с использованием OpenSSL, используйте команду, приведенную ниже:

Тестирование SSL сертификата по URL.

Я использую это довольно часто для проверки SSL-сертификатов по URL с сервера. Это очень удобно для проверки некоторых деталей протокола, шифров и CERT.

Узнать версию OpenSSL

Поверка PEM сертификата на завершение (Expiration Date).

Проверка завершения SSL сертификата (Expiration Date) по URL.

Проверить поддержку SSL версии V2/V3 по URL.

Проверка SSL версии V2:

Проверка SSL версии V3:

Проверка TLS 1.0:

Проверка TLS 1.1:

Проверка TLS 1.2:

Проверка поддержки cipher для сайта по URL.

Какой алгоритм используется в сертификате (проверка).

Или, используя URL:

Получить сертификат по URL

Команда что ниже, сохранит сертификат в файл прямо по URL сайта:

Если веб-сервер имеет несколько сертификатов на один IP-адрес, то вам нужно будет сообщить OpenSSL, какой сертификат будет использоваться, пример ниже:

Вот и все, много полезностей и все в одной статье «Примеры использования OpenSSL в Unix/Linux».

Источник

OpenSSL -что это? 21 пример команд OpenSSL, которые помогут вам на практике

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

Некоторые аббревиатуры, относящиеся к сертификатам:

  • SSL – Secure Socket Layer (уровень защищённых cокетов).
  • CSR – Certificate Signing Request (запрос на получение сертификата).
  • TLS – Transport Layer Security (протокол защиты транспортного уровня).
  • PEM – Privacy Enhanced Mail (формат файлов для хранения и отправки криптографических ключей).
  • SHA – Secure Hash Algorithm (алгоритм криптографического хеширования).
  • PKCS – Public-Key Cryptography Standards (стандарты криптографии с открытым ключом).

1. Создание нового секретного ключа и запрос на получение сертификата

Команда генерирует CSR и файл 2048-битногоRSA-ключа. Если вы собираетесь использовать этот сертификат на Apache или Nginx, то необходимо отправить CSR-файл в центр сертификации. Он предоставит вам заверенный сертификат (в формате der или pem) , который нужно настроить на веб-сервере Apache или Nginx.

2. Создание самозаверяемого сертификата

Команда генерирует самозаверенный сертификат и файл 2048-битного RSA-ключа. Я также включил в команду хеш-функцию sha256, поскольку она считается наиболее безопасной.

Совет: По умолчанию команда генерирует самозаверенный сертификат, действительный только один месяц. Для увеличения этого срока переопределите параметра — days.

Читайте также:  Mac os mojave 32 bit

Пример: для получения сертификата, действительного два года.

3. Верификация CSR-файла

Верификация необходима, чтобы отправленный в регистрационный центр CSR-файл содержал всю необходимую информацию.

4. Создание секретного RSA-ключа

Если нужно создать секретный RSA-ключ, используйте приведенную выше команду.

5. Удаление пароля-фразы из ключа

Если вы используете составной пароль (фразу) в файле ключа и работаете на Apache, то при каждом запуске нужно вводить секретную фразу. Если вас это раздражает, то можно использовать приведенную выше команду, чтобы удалить пароль-фразу из существующего ключа.

6. Верификация секретного ключа

Если вы сомневаетесь в файле ключа, то можете использовать данную команду.

7. Верификация файла сертификата

Если хотите проверить данные сертификата, такие как CN, OU и т.д., используйте приведенную выше команду, которая предоставит данные сертификата.

8. Верификация центра сертификации

Для проверки центра сертификации можно использовать приведенную выше команду.

9. Проверка хеш-значения сертификата

10. Преобразование формата DER в PEM

Центр сертификации предоставляет SSL-сертификат в формате .der . Если вам необходимо использовать его в формате apache или .pem , примените приведенную выше команду для соответствующего преобразования.

11. Преобразование формата PEM в DER

Если необходимо изменить формат .pem на .der .

12. Преобразование сертификата и секретного ключа в формат PKCS#12

Если необходимо использовать сертификат с Java-приложением, принимающим только формат PKCS#12, примените приведенную выше команду. Она генерирует один pfx файл, содержащий сертификат и ключ.

Совет. Вы также можете включить цепочку сертификатов, передав параметр -chain, как показано в примере ниже.

13. Создание CSR с использованием существующего секретного ключа

Если не хотите создавать новый секретный ключ вместо существующего, выполните приведенную выше команду.

14. Проверка содержимого сертификата в формате PKCS12

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

15. Преобразование формата PKCS12 в PEM-сертификат

Если нужно использовать существующий файл в формате pkcs12 на Apache или только в формате pem , в этом поможет приведенная выше команда.

16. Проверка SSL-сертификата определенного URL-адреса

Я часто использую эту команду для проверки SSL-сертификата URL-адреса. Это удобно для проверки данных протокола, шифрования и сертификата.

17. Определение версии OpenSSL

18. Проверка даты истечения срока действия PEM-файла

Команда выведет дату в формате notBefore и notAfter. notAfter — это та дата, которая нужна, чтобы определить, истек ли срок действия сертификата или он еще действителен.

19. Проверка срока действия SSL-сертификата для URL-адреса

Команда позволяет контролировать дату истечения срока действия SSL- сертификата удаленно или для конкретного URL-адреса.

20. Проверка, принимается ли на URL-адресеSSL V2 или V

Чтобы проверить SSL V2:

Чтобы проверить SSL V3:

Чтобы проверить TLS 1.0:

Чтобы проверить TLS 1.1:

Чтобы проверить TLS 1.2:

Если необходимо проверить, включен ли SSL V2 / V3 или нет, используйте приведенную выше команду. Если он включен, то вы получите сообщение «CONNECTED», в противном случае –сообщение «handshake failure».

21. Проверка того, принимается ли конкретный шифр на URL-адресе

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

Для этого необходимо задать шифр и URL-адрес. Если шифр будет принят, вы получите сообщение «CONNECTED», иначе – сообщение «handshake failure».

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

Дайте знать, что вы думаете по данной теме материала в комментариях. За комментарии, отклики, подписки, лайки, дизлайки огромное вам спасибо!

Источник

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 и ключа:

Читайте также:  Защитник windows 10 управляется организацией

Далее выполняем команду генерации 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):

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

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

Источник

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