Создать, Управлять & Конвертируйте SSL-сертификаты с OpenSSL


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

Там будет много ситуаций, когда вам придется иметь дело с OpenSSL по-разному, и здесь я перечислил их для вас как удобный шпаргалка.

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

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

  • SSL – Secure Socket Layer
  • CSR – запрос на подпись сертификата
  • TLS – безопасность транспортного уровня
  • PEM – улучшенная конфиденциальность почты
  • DER – отличительные правила кодирования
  • SHA – безопасный алгоритм хеширования
  • PKCS – Стандарты криптографии с открытым ключом

Замечания: Курс работы с SSL / TLS было бы полезно, если вы не знакомы с условиями.

Создать новый закрытый ключ и запрос на подпись сертификата

openssl req -out geekflare.csr -newkey rsa: 2048 -nodes -keyout geekflare.key

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

Создайте самоподписанный сертификат

openssl req -x509 -sha256 -nodes -newkey rsa: 2048 -keyout gfselfsigned.key -out gfcert.pem

Приведенная выше команда создаст самозаверяющий сертификат и файл ключа с 2048-битным RSA. Я также включил sha256, так как он считается наиболее безопасным на данный момент..

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

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

openssl req -x509 -sha256 -nodes -days 730 -newkey rsa: 2048 -keyout gfselfsigned.key -out gfcert.pem

Проверьте файл CSR

openssl req -noout -text -in geekflare.csr

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

Создать закрытый ключ RSA

openssl genrsa -out private.key 2048

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

Удалить парольную фразу из ключа

openssl rsa – в certkey.key -out nopassphrase.key

Если вы используете парольную фразу в файле ключей и используете Apache, то при каждом запуске вы должны вводить пароль. Если вас раздражает ввод пароля, то вы можете использовать выше openssl rsa -in geekflare.key -check, чтобы удалить ключ-пароль из существующего ключа.

Подтвердить закрытый ключ

openssl rsa -in certkey.key –check

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

Проверить файл сертификата

openssl x509 -in certfile.pem -text –noout

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

Проверьте центр сертификации подписавшего

openssl x509 -in certfile.pem -noout -issuer -issuer_hash

Орган, выдавший сертификат, подписывает каждый сертификат и, в случае необходимости, проверяет его.

Проверьте хэш-значение сертификата

openssl x509 -noout -hash -in bestflare.pem

Конвертировать DER в формат PEM

openssl x509 –inform der –in sslcert.der –out sslcert.pem

Обычно центр сертификации выдает вам сертификат SSL в формате .der, и если вам нужно использовать их в формате apache или .pem, то приведенная выше команда поможет вам.

Конвертировать PEM в формат DER

openssl x509 –outform der –in sslcert.pem –out sslcert.der

Если вам нужно изменить формат .pem на .der

Конвертировать сертификат и закрытый ключ в формат PKCS # 12

openssl pkcs12 –export –out sslcert.pfx –inkey key.pem –in sslcert.pem

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

Подсказка: Вы также можете включить цепной сертификат, передавая –chain, как показано ниже.

openssl pkcs12 –export –out sslcert.pfx –inkey key.pem –in sslcert.pem -chain cacert.pem

Создать CSR, используя существующий закрытый ключ

openssl req –out certificate.csr –key существующий.key –new

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

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

openssl pkcs12 –info –nodes –in cert.p12

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

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

openssl pkcs12 –in cert.p12 –out cert.pem

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

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

openssl s_client -connect yoururl.com:443 –showcerts

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

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

версия openssl

Если вы несете ответственность за обеспечение безопасности OpenSSL, то, вероятно, первое, что вам нужно сделать, это проверить версию.

Проверьте срок действия сертификата файла PEM

openssl x509 -noout -in сертификат.pem -dates

Полезно, если вы планируете поставить какой-то мониторинг для проверки действительности. Это покажет вам дату в синтаксисе notBefore и notAfter. notAfter – это единица, которую вы должны будете проверить, чтобы подтвердить, истек ли срок действия сертификата или все еще действует.

Пример:

[[Электронная почта защищена] opt] # openssl x509 -noout -in bestflare.pem -dates
не раньше, чем= 4 июля 14:02:45 2015 GMT
NotAfter= 4 августа 09:46:42 2015 GMT
[[Электронная почта защищена] неавтоматического] #

Проверьте срок действия сертификата SSL URL

openssl s_client -connect secureurl.com:443 2>/ dev / null | openssl x509 -noout –enddate

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

Пример:

[[Электронная почта защищена] opt] # openssl s_client -connect google.com:443 2>/ dev / null | openssl x509 -noout -enddate

NotAfter= 8 декабря 00:00:00 2015 по Гринвичу

Проверьте, принят ли SSL V2 или V3 на URL

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

openssl s_client -connect secureurl.com:443 -ssl2

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

openssl s_client -connect secureurl.com:443 –ssl3

Проверить TLS 1.0

openssl s_client -connect secureurl.com:443 –tls1

Проверить TLS 1.1

openssl s_client -connect secureurl.com:443 –tls1_1

Проверить TLS 1.2

openssl s_client -connect secureurl.com:443 –tls1_2

Если вы защищаете веб-сервер и вам необходимо проверить, включен ли SSL V2 / V3 или нет, вы можете использовать приведенную выше команду. Если активирован, вы получите «СВЯЗАНЫ«Еще»сбой рукопожатия

Убедитесь, что конкретный шифр принят по URL

openssl s_client -cipher ‘ECDHE-ECDSA-AES256-SHA’ -connecturer: 443

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

Конечно, вам придется изменить шифр и URL, которые вы хотите проверить. Если упомянутый шифр принят, вы получите «СВЯЗАНЫ«Еще»сбой рукопожатия

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

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me