Команды OpenSSL
В случае утери пароля или файла ключа придется заказывать пересоздание сертификата.
- Генерация CSR-запроса:
openssl req -new -key cert.key -out cert.csr
Имя домена на который создается запрос прописывается в Common Name — example.com, A challenge password и An optional company name вводить не нужно (просто нажимаем enter).
- Создание ключа и запроса с данными одной командой:
openssl req -batch -new -newkey rsa:2048 -nodes -keyout cert.key -subj '/C=RU/ST=Moscow/L=Moscow/O=Jingel Inc/OU=Research team/emailAddress=root@example.com/CN=example.com' -out cert.csr
- Создание ключа и самоподписанного сертификата одной командой:
openssl req -newkey rsa:1024 -nodes -keyout server.key -out server.crt -x509 -days 3650 -subj \ "/C=XX/ST=XX/L=XX/O=XX/OU=XX/CN=example.com/emailAddress mw-headline" >Как изменить ssl-сертификат, выданный при регистрации сервера?# openssl req -new -newkey rsa:1024 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 5000 -out /etc/pki/tls/certs/localhost.crtДалее отвечаете на вопросы и перезапускаете сервер Apache.
Как проверить номер версии OpenSSL в Linux
OpenSSL — это кроссплатформенная утилита, которую можно использовать для преобразования цифровых сертификатов в различные форматы, создания собственных центров сертификации и поиска закрытых ключей из сертификатов. OpenSSL — это набор криптографических и SSL-инструментов для тех пользователей, которые работают с цифровыми сертификатами, разработкой приложений, тестированием программного обеспечения и тестированием безопасности. Эта утилита содержит реализацию протоколов SSL и TLS.
Он предустановлен в популярных дистрибутивах Linux. Реализуемую вами версию OpenSSL можно найти в командной строке Linux.
Как проверить номер версии OpenSSL в Linux
Существуют разные команды для проверки номера версии OpenSSL в Linux:
- Команда версии openssl
- команда apt show openssl
1: Как проверить версию OpenSSL с помощью команды openssl version в Linux
Следующая команда позволяет вам проверить версию OpenSSL, которую использует ваше устройство:
openssl version

Вывод легко понять, так как он содержит обозначение версии и дату ее выпуска. Выход 3.0.2 имеет разные значения:
Основная версия. Первая цифра в информации о версии — это основная версия, например, в моем случае это 3.
Дополнительная версия: второе число – 0 дополнительная версия.
Письмо о выпуске: последняя цифра предназначена для отслеживания исправления ошибок во вспомогательном выпуске.
2: Как проверить версию OpenSSL с помощью команды apt show openssl в Linux
Если OpenSSL установлен в Linux через пакет APT, вы можете проверить версию с помощью диспетчера пакетов:
apt show openssl

3: Как проверить версию OpenSSL с помощью команды openssl version -a в Linux
Следующая команда предоставит всю информацию, связанную с OpenSSL, вы можете использовать ее при устранении неполадок и поиске ошибок:
openssl version -a

Выполнив приведенные выше команды, вы получите следующие результаты:
- Версия OpenSSL
- Дата сборки OpenSSL
- Платформа для создания OpenSSL
- Варианты шифрования OpenSSL
- Каталог установки OpenSSL
- Каталог двигателей
Итог
Все права защищены. © Linux-Console.net • 2019-2023
Работа с Private Key, различные манипуляции и команды для безопасной работы с приватным (секретным) ключем
OpenSSL - это инструмент командной строки с открытым исходным кодом, который обычно используется для создания закрытых ключей, создания CSR, установки сертификата SSL / TLS и идентификации информации сертификата. Определение того, какую версию OpenSSL вы используете, является важным первым шагом при подготовке к созданию закрытого ключа или CSR. Ваша версия OpenSSL диктует, какие криптографические алгоритмы могут использоваться при создании ключей, а также о том, какие протоколы поддерживаются. Например, OpenSSL версии 1.0.1 была первой версией, поддерживающей TLS 1.1 и TLS 1.2. Зная, какая версия OpenSSL, которую вы используете, также важна, когда вы получаете помощь по устранению неполадок, с которыми вы можете столкнуться. Используйте следующую команду, чтобы определить, какую версию OpenSSL вы используете:
openssl version -a
- Номер версии и дата выпуска версии ( OpenSSL 1.0.2g 1 Mar 2016 ).
- Параметры, которые были построены с помощью библиотеки ( options ).
- Каталог, в котором хранятся сертификаты и секретные ключи ( OPENSSLDIR ).
OpenSSL 1.0.2g 1 Mar 2016 built on: reproducible build, date unspecified platform: debian-amd64 options: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx) compiler: cc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS - D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -g -O2 -fstack-protector- strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,- Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int - DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 - DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM - DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM OPENSSLDIR: "/usr/lib/ssl"
Первым шагом к получению сертификата SSL является использование OpenSSL для создания запроса подписи сертификата (CSR), который должен быть отправлен в центр сертификации CA . CSR содержит общее имя (ы), которое вы хотите, чтобы ваш сертификат был защищен, информация о вашей компании и ваш открытый ключ. Чтобы создать CSR, он должен иметь закрытый ключ, из которого создается открытый ключ. Это можно сделать, используя существующий закрытый ключ или создав новый закрытый ключ. Из-за проблем с безопасностью, связанных с использованием существующего закрытого ключа, рекомендуется каждый раз создавать новый закрытый ключ при генерации запроса CSR.
- алгоритм: оптимально RSA, при необходимости DSA, ECC, ECDSA.
- размер ключа: оптимально 2048 при необходимости можно больше
- использование кодовой фразы - лучше не использовать без необходимости
После принятия решения, вы можете переходить к генерации приватного ключа
Создание (генерация) приватного ключа pKey
openssl genrsa -out yourdomain.key 2048
Эта команда генерирует закрытый ключ в вашем текущем каталоге с именем private.key ( -out yourdomain.key ) с использованием алгоритма RSA ( genrsa ) с длиной ключа 2048 бит ( 2048 ). Сгенерированный ключ создается с использованием формата OpenSSL под названием PEM.
Просмотр необработанного, закодированного содержимого (формат PEM) закрытого ключа
cat yourdomain.key
Содержимое файла выглядит как случайный фрагмент текста, на самом деле он содержит важную информацию о ключе.
Команда для декодирования закрытого ключа и просмотра его содержимого
openssl rsa -text -in yourdomain.key -noout
* Переключатель -noout отключает вывод кодированной версии закрытого ключа
Просмотр закрытого приватного ключа
openssl rsa -in yourdomain.key -check
Команда для создания открытого ключа на основе приватного
openssl rsa -in yourdomain.key -pubout -out yourdomain_public.key
Снятие пароля passphrase в private key
openssl rsa -in private.key -out private.key .nopass
Создание Приватного ключа и запроса на сертификат
openssl req -out adgrafics.csr -new -newkey rsa:2048 -nodes -keyout adgrafics.key
Генарация запроса для подписи сертификата (CSR) для существующего закрытого ключа
openssl req -out adgrafics.csr -key adgrafics.key -new
Создание нового приватного ключа и самоподписаного сертификата
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout private.key -out certificate.crt
Создание нового CSR запроса на основе существующего сертификата
openssl x509 -x509toreq -in certificate.crt -out CSR.csr -signkey private.key
Проверка соответствия PrivateKey и запроса CSR
openssl rsa -modulus -in yourdomain.key -noout | openssl sha256 openssl req -modulus -in yourdomain.csr -noout | openssl sha256
Проверка соответствия PrivateKey и сертификата
openssl x509 -noout -modulus -in certificate.crt | openssl md5
openssl rsa -noout -modulus -in private.key | openssl md5

Copyright © 1997-2023 adgrafics
Наиболее часто используемые команды OpenSSL (перевод)
Одна из наиболее многофункциональных утилит SSL - это OpenSSL, которая является реализацией протокола SSL с открытым исходным кодом. Существуют версии OpenSSL почти для каждой платформы, включая Windows, Linux и Mac OS X. OpenSSL чаще всего используется для создания запросов на подпись сертификата и приватных ключей для множества различных платформ, включая Apache. Однако, есть ещё сотни различных функций, которые позволяют увидеть информацию из запроса на сертификат или из сертификата, сравнить хэш MD5 сертификата и приватного ключа (чтобы убедиться в том, что они соответствуют друг другу), проверить, что сертификат веб-сайта установлен правильно, преобразовать сертификат в другой формат. Скомпилированную версию OpenSSL для Windows можно найти здесь.
Если вам не хочется разбираться с OpenSSL, то многое из этого можно сделать при помощи наших инструментов для сертификатов SSL. Ниже мы привели наиболее часто используемые команды OpenSSL:
1. Общие команды OpenSSL
Эти команды позволят вам сгенерировать запрос на подпись сертификата, сертификат, приватный ключ и решить другие задачи.
-
Создание нового приватного ключа и запроса на подпись сертификата:
openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt
openssl req -out CSR.csr -key privateKey.key -new
openssl x509 -x509toreq -in certificate.crt -out CSR.csr -signkey privateKey.key
openssl rsa -in privateKey.pem -out newPrivateKey.pem
2. Проверка при помощи OpenSSL
Если нужно проверить информацию в сертификате, в запросе на подпись сертификата или в приватном ключе, воспользуйтесь следующими командами. Также можно проверить запрос на подпись сертификата и проверить сертификат с помощью наших интерактивных инструментов.
-
Проверка запроса на подпись сертификата:
openssl req -text -noout -verify -in CSR.csr
openssl rsa -in privateKey.key -check
openssl x509 -in certificate.crt -text -noout
openssl pkcs12 -info -in keyStore.p12
3. Отладка с помощью OpenSSL
При получении сообщения об ошибке, что приватный ключ не соответствует сертификату или что сертификат, установленный на веб-сайт, не заслуживает доверия, попробуйте одну из следующих команд. Если нужно проверить, правильно ли установлен этот сертификат SSL, попробуйте также наш инструмент для проверки SSL.
-
Проверить, что хэш MD5 публичного ключа соответствует указанному в запросе на подпись сертификата или в приватном ключе:
openssl x509 -noout -modulus -in certificate.crt | openssl md5
openssl rsa -noout -modulus -in privateKey.key | openssl md5
openssl req -noout -modulus -in CSR.csr | openssl md5
openssl s_client -connect www.paypal.com:443
4. Преобразование с помощью OpenSSL
Эти команды позволяют преобразовать сертификаты и ключи в различные форматы, совместимые с определёнными типами серверов и программного обеспечения. Например, можно преобразовать обычный файл PEM, который используется с Apache, в файл PFX (PKCS#12) и использовать его с Tomcat или IIS. Воспользуйтесь нашим инструментом для преобразования SSL, чтобы преобразовать сертификаты без помощи OpenSSL.
-
Преобразование файла DER (.crt .cer .der) в PEM:
openssl x509 -inform der -in certificate.cer -out certificate.pem
openssl x509 -outform der -in certificate.pem -out certificate.der
openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
