Поля для заполнения будут следующими:
- Country Name – ISO-кодстраны
- State or Province Name – область, где была проведена официальная регистрация компании
- Locality Name – город, где была проведена официальная регистрация компании
- Organization Name – полное название организации (без сокращений)
- Organizational Unit Name – название отдела организации
- Common Name – полное доменное имя сервера
Сгенерировать CSR-запрос в OpenSSL можно при помощи специальной команды:
openssl req -key -new cert.key -out cert.csrИмя домена, на который совершается запрос, указывается в Common Name. Поля «A challenge password» и «An optional company name» заполнять не нужно (просто жмем enter).
Команда для создания ключа:
openssl req -batch -new -noout -newkey rsa:2048 -nodes -keyout cert.В случае потери пароля или файла ключа надо будет заказывать повторное создание сертификата.
Одновременное создание ключа и запроса с данными:
openssl req -batch -new -newkey rsa:2048 -nodes -keyout cert.key -subj ‘/C=RU/ST=Ivanovo/L=Ivanovo/O=Guru Project/OU=Research team/[email protected]/CN=primer.com’ -out cert.csrУдалить пароль с ключа (требуется в том случае, когда сертификат устанавливается вручную в конфигурацию Apache; в противном случае он во время запуска будет просить вновь ввести пароль):
openssl rsa -in cert.key -out cert.keyпосле чего указываем пароль через консоль (либо -passin pass:tv0ip4ssw0rd, что не так безопасно, поскольку пароль помещается в .history)
Посмотреть информацию CSR:
openssl req -noout -text -in cert.csrПолучить данные сертификата (чтобы установить, кем он был выдан, к примеру):
openssl x509 -noout -text -in cert. crtВыполнить проверку соответствия ключа сертификату:
openssl x509 -noout -modulus -in cert.crt | openssl md5 openssl rsa -noout -modulus -in cert.key | openssl md5Два значения должны быть равнозначными.
Процесс установки SSL сертификата
Процесс установки сертификата осуществляется при помощи следующих шагов.
Скопируйте выданный вам сертификат в файл, расположенный на вашем сервере ApacheПосле выпуска SSL-сертификата, на почтовый адрес, который вы задали, поступит электронное письмо, которое будет содержать в себе ваш сертификат. Файл с сертификатом будет называться domain.crt. Открыв файл с SSL сертификатом в обычном текстовом редакторе, вы увидите следующее (примерно):
——BEGIN CERTIFICATE—— ASb-SdGSIk3DqvPAqCAMIACAQSxALBgkqddhgrtkiG9w0BBwGg&KLPmowggHXAhСкопируйте данный сертификат туда же (в ту же директорию), где лежит ваш частный (приватный) ключ, назовем этот каталог /etc/ssl/crt/. В нашей ситуации приватный ключ — это private.key. Публичным ключом будет выступать domain.crt.
Очень важный пункт. Чтобы заслужить доверие браузеров и различных мобильных устройств к вашему SSL-сертификату, вам нужно будет задать сертификаты корневых и промежуточных ЦС (центров сертификации). Такие сертификаты обычно лежат вместе с файлом Вашего главного сертификата. Для Apache их надо объединить в ca_bundle.
Чтобы ссылка на данный файл была корректной, следует произвести следующее в необходимом разделе Virtual Host для вашего веб-сайта:
- Выполните копирование файла server.
- Далее внесите новую строку в секцию SSL в файле httpd.conf. Если эта строка уже имеется, отредактируйте ее, чтобы она имела следующий вид: SSLCertificateChainFile /etc/ssl/crt/y_server.ca-bundle
- В том случае, если вы используете иное расположение и иные названия файлов, вам надо будет изменить путь и имена файлов. Раздел SSL в обновленном файле config теперь получит следующий вид:
<VirtualHost 293.169.10.25:443>
DocumentRoot /var/web/html3
ServerName www.leader_domain.com
SSLEngine on
SSLCertificateFile /etc/ssl3/cert/leader_domain.crt
SSLCertificateKeyFile /etc/ssl3/cert/leader_private.key
SSLCertificateChainFile /etc/ssl3/cert/leader_server.ca-bundle ***
</VirtualHost>
*** Для Apache 1. x используйте: SSLCACertificateFile /etc/ssl3/cert/leader_server.ca-bundle
- Сохраните файл config и проведите перезапуск Apache.
Другие полезные команды для работы с сертификатами в OpenSSL
Уточнить длину запроса:
echo ‘(‘ `openssl req -modulus -noout -in leader_cert.csr| cut -d’=’ -f2 | wc -c` ‘-1)*4’ | bcПроверить состояние выдачи HTTPS:
openssl s_client -connect localhost:443 -state -debug GET / HTTP/1.0Для почтового адреса:
openssl s_client -connect localhost:993 -showcertsНа ОС Windows (в IIS в частности) применяется PFX-контейнер для SSL-сертификата, его можно сделать из файлов ключа и самого сертификата командой:
openssl pkcs12 -inkey -export -in certificate.crt yourcertificate.key -out yourcertificate.pfxС помощью OpenSSL вы сможете легко провести любые операции, связанные с SSL сертификатами.
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 (стандарты криптографии с открытым ключом).
- Создание нового секретного ключа и запрос на получение сертификата
- Создание самозаверяемого сертификата
- Верификация CSR-файла
- Создание секретного RSA-ключа
- Удаление пароля-фразы из ключа
- Верификация секретного ключа
- Верификация файла сертификата
- Верификация центра сертификации
- Проверка хеш-значения сертификата
- Преобразование формата DER в PEM
- Преобразование формата PEM в DER
- Преобразование сертификата и секретного ключа в формат PKCS#12
- Создание CSR с использованием существующего секретного ключа
- Проверка содержимого сертификата в формате PKCS12
- Преобразование формата PKCS12 в PEM-сертификат
- Проверка SSL-сертификата определенного URL-адреса
- Определение версии OpenSSL
- Проверка даты истечения срока действия PEM-файла
- Проверка срока действия SSL-сертификата для URL-адреса
- Проверка, принимается ли на URL-адресеSSL V2 или V
- Проверка того, принимается ли конкретный шифр на URL-адресе
opensslreq -out geekflare. csr -newkey rsa:2048 -nodes -keyoutgeekflare.key
Команда генерирует CSR и файл 2048-битногоRSA-ключа. Если вы собираетесь использовать этот сертификат на Apache или Nginx, то необходимо отправить CSR-файл в центр сертификации. Он предоставит вам заверенный сертификат (в формате der или pem), который нужно настроить на веб-сервере Apache или Nginx.
opensslreq -x509 -sha256 -nodes -newkey rsa:2048 -keyoutgfselfsigned.key -out gfcert.pem
Команда генерирует самозаверенный сертификат и файл 2048-битного RSA-ключа. Я также включил в команду хеш-функцию sha256, поскольку она считается наиболее безопасной.
Совет: По умолчанию команда генерирует самозаверенный сертификат, действительный только один месяц. Для увеличения этого срока переопределите параметра — days.
Пример: для получения сертификата, действительного два года.
opensslreq -x509 -sha256 -nodes -days 730 -newkey rsa:2048 -keyoutgfselfsigned.key -out gfcert.pem
opensslreq -noout -text -in geekflare. csr
Верификация необходима, чтобы отправленный в регистрационный центр CSR-файл содержал всю необходимую информацию.
opensslgenrsa -out private.key 2048
Если нужно создать секретный RSA-ключ, используйте приведенную выше команду.
opensslrsa -in certkey.key -out nopassphrase.key
Если вы используете составной пароль (фразу) в файле ключа и работаете на Apache, то при каждом запуске нужно вводить секретную фразу. Если вас это раздражает, то можно использовать приведенную выше команду, чтобы удалить пароль-фразу из существующего ключа.
opensslrsa -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
openssl x509 –inform der –in sslcert.der –out sslcert.pem
Центр сертификации предоставляет SSL-сертификат в формате .der. Если вам необходимо использовать его в формате apache или .pem, примените приведенную выше команду для соответствующего преобразования.
openssl x509 –outform der –in sslcert.pem –out sslcert.der
Если необходимо изменить формат .pem на .der.
openssl pkcs12 –export –out sslcert.pfx –inkeykey.pem –in sslcert.pem
Если необходимо использовать сертификат с Java-приложением, принимающим только формат PKCS#12, примените приведенную выше команду. Она генерирует один pfx файл, содержащий сертификат и ключ.
Совет. Вы также можете включить цепочку сертификатов, передав параметр -chain, как показано в примере ниже.
openssl pkcs12 –export –out sslcert.pfx –inkeykey.pem –in sslcert.pem -chain cacert.pem
opensslreq –out certificate.csr –keyexisting.key –new
Если не хотите создавать новый секретный ключ вместо существующего, выполните приведенную выше команду.
openssl pkcs12 –info –nodes –in cert.p12
PKCS12 является двоичным форматом, поэтому вы не сможете просмотреть его содержимое в текстовом редакторе. Для просмотра файла в формате PKCS12 используйте приведенную выше команду.
openssl pkcs12 –in cert.p12 –out cert.pem
Если нужно использовать существующий файл в формате pkcs12 на Apache или только в формате pem, в этом поможет приведенная выше команда.
openssls_client -connect yoururl.com:443 –showcerts
Я часто использую эту команду для проверки SSL-сертификата URL-адреса. Это удобно для проверки данных протокола, шифрования и сертификата.
openssl version
openssl x509 -noout -in certificate.pem -dates
Команда выведет дату в формате notBefore и notAfter. notAfter — это та дата, которая нужна, чтобы определить, истек ли срок действия сертификата или он еще действителен.
Пример:
[root@Chandan opt]# openssl x509 -noout -in bestflare.pem -dates notBefore=Jul 4 14:02:45 2015 GMT notAfter=Aug 4 09:46:42 2015 GMT [root@Chandan opt]#
openssls_client -connect secureurl. com:443 2>/dev/null | openssl x509 -noout –enddate
Команда позволяет контролировать дату истечения срока действия SSL- сертификата удаленно или для конкретного URL-адреса.
Пример:
[root@Chandan opt]# openssls_client -connect google.com:443 2>/dev/null | openssl x509 -noout -enddate notAfter=Dec 8 00:00:00 2015 GMT
Чтобы проверить SSL V2:
openssls_client -connect secureurl.com:443 -ssl2
Чтобы проверить SSL V3:
openssls_client -connect secureurl.com:443 –ssl3
Чтобы проверить TLS 1.0:
openssls_client -connect secureurl.com:443 –tls1
Чтобы проверить TLS 1.1:
openssls_client -connect secureurl.com:443 –tls1_1
Чтобы проверить TLS 1.2:
openssls_client -connect secureurl.com:443 –tls1_2
Если необходимо проверить, включен ли SSL V2 / V3 или нет, используйте приведенную выше команду. Если он включен, то вы получите сообщение «CONNECTED», в противном случае –сообщение «handshake failure».
openssls_client -cipher 'ECDHE-ECDSA-AES256-SHA' -connect secureurl:443
Если хотите знать, принимаются ли некоторые слабые шифры, то можете использовать приведенную выше команду.
Для этого необходимо задать шифр и URL-адрес. Если шифр будет принят, вы получите сообщение «CONNECTED», иначе – сообщение «handshake failure».
Надеюсь, что приведенные выше команды помогли вам узнать больше об использовании OpenSSL для управления SSL-сертификатами.
Пожалуйста, оставляйте свои отзывы по текущей теме материала. За комментарии, отклики, лайки, дизлайки, подписки огромное вам спасибо!
Вадим Дворниковавтор-переводчик статьи «21 OpenSSL Examples to Help You in Real-World»
Генерация запроса на подпись сертификата вручную (CSR) Использование OpenSSL
Этот урок покажет вам, как вручную создать Запрос на подпись сертификата (или CSR) в среде веб-хостинга Apache или Nginx с использованием OpenSSL. Нажмите здесь для обучения по заказу сертификатов, или здесь для получения дополнительной информации о том, как установить новый сертификат SSL. com.
Чтобы получить дополнительные полезные инструкции и последние новости кибербезопасности, подпишитесь на информационный бюллетень SSL.com здесь:
Видео
В этих инструкциях мы собираемся использовать OpenSSL req
утилита для генерации как закрытого ключа, так и CSR в одной команде. Генерация секретного ключа таким способом гарантирует, что вам будет предложено ввести пароль для защиты закрытого ключа. Во всех приведенных примерах команд замените имена файлов, показанные в ALL CAPS, на фактические пути и имена файлов, которые вы хотите использовать. (Например, вы можете заменить PRIVATEKEY.key
с /private/etc/apache2/server. key
в среде MacOS Apache.) Это практическое руководство охватывает генерацию обоих RSA и ECDSA ключи.
RSA
Приведенная ниже команда OpenSSL сгенерирует 2048-битный закрытый ключ RSA и CSR:
openssl req -newkey rsa: 2048 -keyout PRIVATEKEY.key -out МОЙCSR.csr
Давайте разберем команду:
openssl
это команда для запуска OpenSSL.req
это утилита OpenSSL для создания CSR.-newkey rsa:2048
сообщает OpenSSL создать новый 2048-битный закрытый ключ RSA. Если вы предпочитаете ключ 4096 бит, вы можете изменить это число на4096
.-keyout PRIVATEKEY.key
указывает, где сохранить файл закрытого ключа.-out MYCSR.csr
указывает, где сохранить CSR .- С этими двумя последними элементами не забудьте использовать свои собственные пути и имена файлов для закрытого ключа и CSR, а не заполнители.
После ввода команды нажмите вводить, Вам будет представлен ряд подсказок:
- Сначала создайте и подтвердите парольную фразу. Запомните эту парольную фразу, потому что она понадобится вам снова для доступа к вашему секретному ключу.
- Теперь вам будет предложено ввести информацию, которая будет включена в ваш CSR, Эта информация также известна как Отличное имя или DN, Распространенное имя поле обязательно для SSL.com при отправке вашего CSR, но остальные не являются обязательными. Если вы хотите пропустить дополнительный элемент, просто введите вводить когда это появится:
- Игровой автомат Имя страны (необязательно) занимает две буквы код страны.
- Игровой автомат Название населенного пункта Поле (необязательно) предназначено для вашего города.
- Игровой автомат Название организации поле (необязательно) предназначено для названия вашей компании или организации.
- Игровой автомат Распространенное имя поле (обязательное) используется для Полное доменное имя (FQDN) сайта этот сертификат будет защищать.
- Ваш e-mail (опционально)
- Игровой автомат Пароль для вызова поле является необязательным и может быть пропущено.
По завершении этого процесса вы вернетесь в командную строку. Вы не получите никакого уведомления о том, что ваш CSR был успешно создан.
Вернуться к началу
ECDSA
Чтобы создать закрытый ключ ECDSA с вашим CSR, вам необходимо вызвать вторую утилиту OpenSSL, чтобы сгенерировать параметры для ключа ECDSA.
Эта команда OpenSSL сгенерирует файл параметров для 256-битного ключа ECDSA:
openssl genpkey -genparam -algorithm ec -pkeyopt ec_paramgen_curve: P-256 -out ECPARAM. pem
openssl genpkey
запускает утилиту openssl для генерации закрытого ключа.-genparam
генерирует файл параметров вместо закрытого ключа. Вы также можете сгенерировать закрытый ключ, но используя файл параметров при генерации ключа и CSR гарантирует, что вам будет предложено ввести пароль.-algorithm ec
определяет алгоритм эллиптической кривой.-pkeyopt ec_paramgen_curve:P-256
выбирает 256-битную кривую. Если вы предпочитаете 384-битную кривую, измените часть после двоеточия наP-384
.-out ECPARAM.pem
предоставляет путь и имя файла для файла параметров.
Теперь укажите ваш файл параметров при создании CSR:
openssl req -newkey ec: ECPARAM. pem -keyout PRIVATEKEY.key -out МОЙCSR.csr
Команда такая же, как мы использовали в примере RSA выше, но -newkey RSA:2048
был заменен на -newkey ec:ECPARAM.pem
, Как и прежде, вам будет предложено ввести пароль и информацию о различающемся имени для CSR.
При желании вы можете использовать перенаправление для объединения двух команд OpenSSL в одну строку, пропуская создание файла параметров, как показано ниже:
openssl req -newkey ec: <(openssl genpkey -genparam -algorithm ec -pkeyopt ec_paramgen_curve: P-256) -keyout PRIVATEKEY.key -out MYCSR.csr
Далее Шаги
Для получения дополнительной информации об установке сертификата см. прочитайте здесь, для привязки к IIS 10, читать здесь.
Что такое OpenSSL и как он работает?
Перейти к содержимомуКатегории
- Статьи
- Новости отрасли
- Установка
- База знаний
- Ошибки SSL
Сертификаты SSL сейчас очень востребованы. Ландшафт шифрования резко изменился с тех пор, как Google запустил кампанию «HTTPS Everywhere». Во-первых, они стимулировали SEO в качестве стимула для установки цифровых сертификатов, а позже Chrome сделал HTTPS практически обязательным для всех. Если вы не используете SSL-сертификат, популярные браузеры, такие как Chrome и Firefox, пометят ваш сайт как незащищенный.
Правильная реализация SSL имеет решающее значение для безопасности и успеха веб-сайта. А так как многие владельцы веб-сайтов узнают о SSL впервые, важно вооружить их всеми необходимыми инструментами и утилитами. Одним из таких инструментов является OpenSSL.
Что такое OpenSSL?
Open SSL — это универсальная криптографическая библиотека, которая предлагает приложение протокола TLS с открытым исходным кодом. Впервые выпущенный в 1998 году, он доступен для систем Linux, Windows, macOS и BSD. OpenSSL позволяет пользователям выполнять различные задачи, связанные с SSL, включая CSR (запрос на подпись сертификата) и генерацию закрытых ключей, а также установку SSL-сертификата.
Большинство дистрибутивов Linux поставляются с предварительно скомпилированным OpenSSL, но если вы работаете в системе Windows, вы можете получить его отсюда.
Зачем вам OpenSSL?
С помощью OpenSSL вы можете подать заявку на получение цифрового сертификата (создать запрос на подпись сертификата) и установить файлы SSL на свой сервер. Вы также можете конвертировать свой сертификат в различные форматы SSL, а также выполнять всевозможные проверки. Подробнее о них в другой главе.
Все, что вам нужно сделать, это выучить несколько общих команд OpenSSL, и с каждым новым сертификатом процесс настройки будет становиться все быстрее и проще. Поскольку не все серверы предоставляют пользовательские веб-интерфейсы для управления SSL, на некоторых платформах OpenSSL является единственным решением для импорта и настройки вашего сертификата.
Как использовать OpenSSL?
OpenSSL полностью посвящен своим командным строкам. Ниже мы собрали несколько общих команд OpenSSL для обычных пользователей. Если вы хотите изучить все команды, перейдите на эту страницу.
Проверьте свою версию OpenSSLКрайне важно знать, какая у вас версия OpenSSL, поскольку она определяет, какие криптографические алгоритмы и протоколы вы можете использовать. Последняя версия OpenSSL — 3.0.0. Он поддерживает протокол TLS 1.3 и восстанавливает поддержку FIPS 140.
Вы можете проверить версию OpenSSL, выполнив следующую команду:
Версия openssl –a
Вы можете использовать OpenSSL для создания кода CSR. CSR — это блок закодированного текста с данными о вашем сайте и компании. Вы должны отправить CSR в свой центр сертификации для утверждения.
Для запроса сертификата требуется закрытый ключ, из которого создается открытый ключ. Хотя вы можете использовать существующий ключ, рекомендуется всегда генерировать новый закрытый ключ всякий раз, когда вы создаете CSR.
После того, как вы успешно сгенерировали закрытый ключ, пришло время создать CSR. Он будет в формате PEM и будет содержать информацию о вашей компании, а также открытый ключ, полученный из вашего закрытого ключа. Выполните следующую команду для создания CSR:
openssl req -new -key yourdomain.key -out yourdomain.csr
-subj Switch- альтернативный способ создания кода CSR
Вы также можете отправьте свою информацию в самой командной строке с помощью кнопки – переключатель subj .
Эта команда отключит подсказки с вопросами:
openssl req -new -key yourdomain.key -out yourdomain.csr \ -subj "/C=US/ST=CA/L=San Francisco/O=Your Company , Inc./OU=IT/CN=yourdomain.com"
Чтобы сгенерировать закрытый ключ, необходимо указать алгоритм ключа, размер ключа и дополнительную фразу-пароль. Стандартным алгоритмом ключа является RSA, но вы также можете выбрать ECDSA для определенных ситуаций. При выборе ключевого алгоритма убедитесь, что у вас не возникнет проблем с совместимостью. В этой статье мы только покажем, как сгенерировать закрытый ключ с помощью алгоритма RSA.
В качестве размера ключа следует выбрать 2048 бит при использовании алгоритма ключа RSA и 256 бит при использовании алгоритма ECDSA. Любой размер ключа меньше 2048 не является безопасным, а более высокое значение может снизить производительность.
Наконец, вы должны решить, нужна ли вам парольная фраза для вашего закрытого ключа или нет. Обратите внимание, что некоторые серверы не принимают закрытые ключи с парольными фразами.
Когда вы будете готовы сгенерировать свой закрытый ключ (с алгоритмом RSA), выполните следующие команды:
openssl genrsa -out yourdomain.key 2048
Эта команда создаст файл yourdomain.key в вашем текущем каталоге. Ваш закрытый ключ будет иметь формат PEM .
Вы можете просмотреть закодированное содержимое вашего закрытого ключа с помощью следующей команды:
cat yourdomain. key
Чтобы расшифровать ваш закрытый ключ, выполните следующую команду:
openssl rsa -text yourdomain.key -noout
Чтобы извлечь открытый ключ из закрытого ключа, используйте следующую команду:
Одновременное создание закрытого ключа и CSROpenSSL настолько универсален, что есть команда для создания закрытого ключа и CSR.
требуется openssl -новый \
-newkey rsa:2048 -nodes -keyout yourdomain.key \
-out yourdomain.csr \
-subj "/C=US/ST=CA/L=Сан-Франциско/O=Ваша компания, Inc./OU=IT/CN=yourdomain.com"
Эта команда генерирует закрытый ключ без кодовой фразы (-keyout yourdomain.key) и кода CSR (out yourdomain.csr).
Проверьте информацию своего CSRЧтобы убедиться, что вы предоставили правильную информацию перед отправкой CSR в свой ЦС, выполните следующую команду:
openssl req -text -in yourdomain. csr -noout –verify
После того, как ваш ЦС доставит SSL-сертификат в ваш почтовый ящик, выполните приведенную ниже команду, чтобы убедиться, что информация сертификата соответствует вашему закрытому ключу.
openssl x509 -text -in yourdomain.crt –noout
На этом наш список распространенных команд OpenSSL заканчивается. Если вам нужна дополнительная информация о том, что такое OpenSSL и как он работает, эта бесплатная книга — отличный ресурс.
Последнее обновление: 16 сентября 2022 г.
Перейти к началу
Краткое справочное руководство по OpenSSL | DigiCert.com
Оглавление- Проверка версии OpenSSL
- Создание OpenSSL и CSR
- Выбор вариантов генерации ключей
- Создание личного ключа
- Извлечение открытого ключа
- Создание CSR
- Использование переключателя -subj
- Создание CSR с помощью одной команды
- Проверка информации CSR
- Отправка CSR в ЦС
- Просмотр информации о сертификате
- Проверка совпадения ключей
- Преобразование форматов сертификатов
Узнайте, как использовать наиболее распространенные команды OpenSSL
OpenSSL — это инструмент командной строки с открытым исходным кодом, который обычно используется для создания закрытых ключей, создания CSR, установки сертификата SSL/TLS и определения информации о сертификате. Мы разработали это краткое справочное руководство, чтобы помочь вам понять наиболее распространенные команды OpenSSL и способы их использования.
Это руководство не является исчерпывающим. Если вы ищете более глубокий и всесторонний взгляд на OpenSSL, мы рекомендуем вам ознакомиться с OpenSSL Cookbook Ивана Ристиć.
Примечания к руководству: Ubuntu 16.04.3 LTS использовалась для написания этого руководства.
В некоторых примерах команд используется ‘ \ ‘ (обратная косая черта) для создания разрыва строки, чтобы их было легче понять.
Если у вас нет времени разбираться в деталях команд OpenSSL и генерации CSR, или вы хотите сэкономить время, воспользуйтесь нашим мастером OpenSSL CSR Wizard.
Проверка вашей версии OpenSSL
Определение используемой версии OpenSSL является важным первым шагом при подготовке к созданию закрытого ключа или CSR. Ваша версия OpenSSL определяет, какие криптографические алгоритмы можно использовать при генерации ключей, а также какие протоколы поддерживаются. Например, OpenSSL версии 1.0.1 была первой версией, поддерживающей TLS 1.1 и TLS 1.2. Информация о том, какую версию OpenSSL вы используете, также важна для получения помощи в устранении неполадок, с которыми вы можете столкнуться.
Используйте следующую команду, чтобы определить, какую версию OpenSSL вы используете:
версия openssl -a
В этой команде ключ -a отображает полную информацию о версии, включая:
- Номер версии и дата выпуска версии (OpenSSL 1.0.2g 1 марта 2016 г.).
- Опции, которые были собраны с библиотекой (options).
- Каталог, в котором хранятся сертификаты и закрытые ключи (OPENSSLDIR).
Используя команду openssl version -a, был создан следующий вывод:
OpenSSL 1. 0.2g 1 марта 2016 г.
построено на: воспроизводимая сборка, дата не указана
платформа: debian-amd64
опции: bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)
компилятор: cc -I. -I.. -I../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -
D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -g -O2 -fstack-protector-
сильный -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"
OpenSSL и создание CSR
Первым шагом к получению SSL-сертификата является использование OpenSSL для создания запроса на подпись сертификата (CSR), который можно отправить в центр сертификации (CA) (например, DigiCert). CSR содержит общие имена, которые вы хотите защитить своим сертификатом, информацию о вашей компании и ваш открытый ключ. Чтобы CSR был создан, он должен иметь закрытый ключ, из которого извлекается открытый ключ. Это можно сделать, используя существующий закрытый ключ или сгенерировав новый закрытый ключ.
Примечание по безопасности: Из-за проблем с безопасностью, связанных с использованием существующего закрытого ключа, а также из-за того, что создать закрытый ключ очень просто и совершенно бесплатно, мы рекомендуем создавать новый закрытый ключ при каждом создании CSR.
Выбор параметров генерации ключей
При создании ключа необходимо решить три вещи: алгоритм ключа, размер ключа и использовать ли парольную фразу.
Ключевой алгоритм
Для алгоритма ключа нужно учитывать его совместимость. По этой причине мы рекомендуем вам использовать RSA. Однако, если у вас есть конкретная потребность в использовании другого алгоритма (например, ECDSA), вы можете использовать и его, но помните о проблемах совместимости, с которыми вы можете столкнуться.
Примечание: В этом руководстве рассматривается только создание ключей с использованием алгоритма RSA.
Размер ключа
Для размера ключа необходимо выбрать длину бита не менее 2048 при использовании RSA и 256 при использовании ECDSA; это наименьшие размеры ключей, разрешенные для SSL-сертификатов. Если вам не нужно использовать ключ большего размера, мы рекомендуем придерживаться 2048 с RSA и 256 с ECDSA.
Примечание: В более старых версиях OpenSSL, если размер ключа не указан, используется размер ключа по умолчанию 512. Любой размер ключа меньше 2048 считается небезопасным и никогда не должен использоваться.
Парольная фраза
Для парольной фразы вам нужно решить, хотите ли вы ее использовать. При использовании закрытый ключ будет зашифрован с использованием указанного метода шифрования, и его будет невозможно использовать без парольной фразы. Поскольку у обоих вариантов есть свои плюсы и минусы, важно, чтобы вы понимали последствия использования или неиспользования кодовой фразы. В этом руководстве мы не будем использовать парольную фразу в наших примерах.
Генерация личного ключа
После выбора алгоритма ключа, размера ключа и необходимости использования парольной фразы вы готовы сгенерировать закрытый ключ.
Используйте следующую команду для создания закрытого ключа с использованием алгоритма RSA:
openssl genrsa -out yourdomain.key 2048
Эта команда создает закрытый ключ в вашем текущем каталоге с именем yourdomain. key (-out yourdomain.key) с использованием алгоритма RSA (genrsa) с длиной ключа 2048 бит (2048). Сгенерированный ключ создается с использованием формата OpenSSL, называемого PEM.
Используйте следующую команду для просмотра необработанного закодированного содержимого (формат PEM) закрытого ключа:
кот yourdomain.key
Хотя содержимое файла может выглядеть как случайный фрагмент текста, на самом деле оно содержит важную информацию о ключе.
Используйте следующую команду для декодирования закрытого ключа и просмотра его содержимого:
openssl rsa-text-in yourdomain.key-noout
Переключатель -noout пропускает вывод закодированной версии закрытого ключа.
Извлечение открытого ключа
Файл закрытого ключа содержит как закрытый ключ, так и открытый ключ. При необходимости вы можете извлечь открытый ключ из файла закрытого ключа.
Используйте следующую команду для извлечения открытого ключа:
openssl rsa -in yourdomain.key -pubout -out yourdomain_public.key
Создание CSR
После создания закрытого ключа вы готовы создать свой CSR. CSR создается с использованием формата PEM и содержит часть закрытого ключа с открытым ключом, а также информацию о вас (или вашей компании).
Используйте следующую команду, чтобы создать CSR, используя только что сгенерированный закрытый ключ:
openssl req -new -key yourdomain.key -out yourdomain.csr
После ввода команды вам будет задан ряд вопросов. Ваши ответы на эти вопросы будут включены в CSR. Ответьте на вопросы, как описано ниже:
Название страны (двухбуквенный код) | Двухбуквенный код страны, в которой зарегистрирована ваша компания. |
Название штата или провинции (полное название) | Штат/провинция, где ваша компания находится на законных основаниях. |
Название местности (например, город) | Город, в котором юридически зарегистрирована ваша компания. |
Название организации (например, компания) | Официально зарегистрированное название вашей компании (например, YourCompany, Inc.). |
Название организационного подразделения (например, секции) | Название вашего отдела в организации. (Вы можете оставить эту опцию пустой; просто нажмите , введите .) |
Общее имя (например, полное доменное имя сервера) | Полное доменное имя (FQDN) (например, www. example.com). |
Адрес электронной почты | Ваш адрес электронной почты. (Вы можете оставить эту опцию пустой; просто нажмите Введите .) |
Пароль вызова | Оставьте эту опцию пустой (просто нажмите Введите ). |
Дополнительное название компании | Оставьте эту опцию пустой (просто нажмите Введите ). |
Некоторые из приведенных выше вопросов CSR имеют значения по умолчанию, которые будут использоваться, если вы оставите ответ пустым и нажмете Введите . Эти значения по умолчанию взяты из файла конфигурации OpenSSL, расположенного в OPENSSLDIR (см. Проверка версии OpenSSL). Если вы хотите оставить вопрос пустым, не используя значение по умолчанию, введите « . » (точка) и нажмите Введите .
Использование переключателя -subj
Другим вариантом при создании CSR является предоставление всей необходимой информации внутри самой команды с использованием ключа -subj.
Используйте следующую команду, чтобы отключить подсказки с вопросами при создании CSR:
openssl req -new -key yourdomain.key -out yourdomain.csr \
-subj "/C=US/ST=Юта/L=Lehi/O=Your Company, Inc./OU=IT/CN=yourdomain.com"
Эта команда использует ваш файл закрытого ключа (-key yourdomain.key) для создания нового CSR (-out yourdomain.csr) и отключает подсказки с вопросами, предоставляя информацию CSR (-subj).
Создание CSR с помощью одной команды
Вместо создания закрытого ключа и последующего создания CSR в два отдельных этапа вы можете выполнять обе задачи одновременно.
Используйте следующую команду для создания закрытого ключа и CSR:
запрос openssl -новый \
-newkey rsa:2048 -nodes -keyout yourdomain. key \
-out yourdomain.csr \
-subj "/C=US/ST=Юта/L=Lehi/O=Your Company, Inc./OU=IT/CN=yourdomain.com"
Эта команда создает новый закрытый ключ (-newkey) с использованием алгоритма RSA с длиной ключа 2048 бит (rsa:2048) без использования кодовой фразы (-nodes), а затем создает файл ключа с именем yourdomain.key ( -keyout вашдомен.ключ).
Затем команда создает CSR с именем файла yourdomain.csr (-out yourdomain.csr) и предоставляет информацию для CSR (-subj).
Примечание: Хотя можно добавить альтернативное имя субъекта (SAN) в CSR с помощью OpenSSL, этот процесс немного сложен и запутан. Если вам нужно добавить SAN к вашему сертификату, это можно легко сделать, добавив их в форму заказа при покупке сертификата DigiCert.
Проверка информации CSR
После создания CSR с использованием закрытого ключа мы рекомендуем убедиться, что информация, содержащаяся в CSR, верна, а файл не был изменен или поврежден.
Используйте следующую команду, чтобы просмотреть информацию в вашем CSR перед отправкой в ЦС (например, DigiCert):
openssl req -text -in yourdomain.csr -noout -verify
Переключатель -noout пропускает вывод закодированной версии CSR. Переключатель -verify проверяет подпись файла, чтобы убедиться, что он не был изменен.
Запустив эту команду, вы получите следующий вывод:
проверить OK
Запрос сертификата:
Данные:
Версия: 0 (0x0)
Тема: C=US, ST=Юта, L=Lehi, O=Your Company, Inc., OU=IT, CN=yourdomain.com
Информация об открытом ключе субъекта:
Алгоритм открытого ключа: rsaEncryption
Открытый ключ: (2048 бит)
Модуль:
00:bb:31:71:40:81:2c:8e:fb:89:25:7c:0e:cb:76:
[...удалено 17 строк]
Показатель: 65537 (0x10001)
Атрибуты:
в0:00
Алгоритм подписи: sha256WithRSAEncryption
0b:9b:23:b5:1f:8d:c9:cd:59:bf:b7:e5:11:ab:f0:e8:b9:f6:
[. ..удалено 14 строк]
В первой строке приведенного выше вывода видно, что CSR был проверен (подтвердите OK). В четвертой строке поле Тема: содержит информацию, которую вы указали при создании CSR. Убедитесь, что эта информация верна.
Если какая-либо информация неверна, вам потребуется создать совершенно новый CSR, чтобы исправить ошибки. Это связано с тем, что файлы CSR имеют цифровую подпись, а это означает, что если в файле будет изменен хотя бы один символ, он будет отклонен ЦС.
Отправка CSR в ЦС
Когда вы будете готовы отправить CSR в ЦС (например, DigiCert), вам нужно сделать это в формате PEM — необработанный закодированный текст CSR, который вы видите при открытии его в текстовом редакторе.
Используйте следующую команду для просмотра необработанных выходных данных CSR:
кот yourdomain.csr
Вы должны скопировать все содержимое вывода (включая строки ——BEGIN CERTIFICATE REQUEST—— и ——END CERTIFICATE REQUEST——) и вставить его в форму заказа DigiCert. .
Готовы заказать сертификат SSL?
КупитьПодробнее
Просмотр информации о сертификате
После получения сертификата от центра сертификации (например, DigiCert) мы рекомендуем убедиться, что информация в сертификате верна и соответствует вашему закрытому ключу. Вы делаете это с помощью команды x509.
Используйте следующую команду для просмотра содержимого вашего сертификата:
openssl x509 -text -in yourdomain.crt -noout
Проверка совпадения ключей
Чтобы убедиться, что открытый и закрытый ключи совпадают, извлеките открытый ключ из каждого файла и сгенерируйте для него хэш-вывод. Все три файла должны иметь один и тот же открытый ключ и одно и то же значение хеш-функции.
Используйте следующие команды для создания хэша открытого ключа каждого файла:
openssl pkey -pubout -in . \private.key | опенсл ша256
openssl req -pubkey -in .\request.csr -noout | Опенссл Ша256
openssl x509 -pubkey -in .\certificate.crt -noout | Опенссл Ша256
Примечание: Приведенные выше команды следует вводить одну за другой, чтобы создать три отдельных выхода.
Каждая команда выводит (stdin)=, за которым следует строка символов. Если выходные данные каждой команды совпадают, то ключи для каждого файла одинаковы. Однако если есть какое-то несоответствие, то ключи не совпадают и сертификат не может быть установлен.
Ошибки несоответствия ключейобычно вызваны установкой сертификата на компьютере, отличном от того, который использовался для создания CSR. Если вы столкнулись с ошибкой несоответствия ключей, вам необходимо выполнить одно из следующих действий:
- Перенесите закрытый ключ с компьютера, который использовался для создания CSR, на тот, на который вы пытаетесь установить сертификат.
- Установите сертификат на машину с закрытым ключом.
- Сгенерируйте совершенно новый ключ и создайте новый CSR на машине, которая будет использовать сертификат.
Преобразование форматов сертификатов
По умолчанию OpenSSL генерирует ключи и CSR, используя формат PEM. Однако могут быть случаи, когда вам нужно преобразовать ключ или сертификат в другой формат, чтобы экспортировать его в другую систему.
PEM в PKCS#12
Формат PKCS#12 — это архивный файл, в котором хранятся как сертификат, так и закрытый ключ. Этот формат удобен для переноса сертификатов и ключей из одной системы в другую, так как содержит все необходимые файлы. Файлы PKCS#12 используют либо .pfx или .p12 расширение файла.
Используйте следующую команду для преобразования ключа PEM и сертификата в формат PKCS#12 (т. е. в один файл . pfx):
openssl pkcs12 -export -name "yourdomain-digiticert-(срок действия)" \
-out yourdomain.pfx -inkey yourdomain.key -in yourdomain.crt
Примечание: После ввода команды вам будет предложено ввести пароль для шифрования файла. Поскольку для миграции системы часто используется формат PKCS#12, мы рекомендуем зашифровать файл с помощью очень надежного пароля.
Эта команда объединяет ваш закрытый ключ (-inkey yourdomain.key) и ваш сертификат (-in yourdomain.crt) в один файл .pfx (-out yourdomain.pfx) с понятным именем (-name «yourdomain-digicert -(дата истечения срока действия)»), где дата истечения срока действия — это дата истечения срока действия сертификата.
PKCS#12 для PEM
Поскольку формат PKCS#12 содержит как сертификат, так и закрытый ключ, необходимо использовать две отдельные команды для обратного преобразования файла . pfx в формат PEM.
Используйте следующую команду, чтобы извлечь закрытый ключ из файла PKCS#12 (.pfx) и преобразовать его в закрытый ключ в кодировке PEM:
openssl pkcs12 -in yourdomain.pfx -nocerts -out yourdomain.key -nodes
Используйте следующую команду, чтобы извлечь сертификат из файла PKCS#12 (.pfx) и преобразовать его в сертификат, закодированный PEM:
openssl pkcs12 -in yourdomain.pfx -nokeys -clcerts -out yourdomain.crt
Примечание: Вам потребуется указать пароль, используемый для шифрования файла .pfx, чтобы преобразовать ключ и сертификат в формат PEM.
PEM в DER
Формат DER использует кодировку ASN.1 для хранения информации о сертификате или ключе. Подобно формату PEM, DER хранит информацию о ключе и сертификате в двух отдельных файлах и обычно использует одинаковые расширения файлов (например, . key , .crt и .csr ). Расширение файла .der использовалось в приведенных ниже примерах для ясности.
Используйте следующую команду для преобразования сертификата в кодировке PEM в сертификат в кодировке DER:
openssl x509 -inform PEM -in yourdomain.crt -outform DER -out yourdomain.der
Используйте следующую команду для преобразования закрытого ключа в кодировке PEM в закрытый ключ в кодировке DER:
openssl rsa -inform PEM -in yourdomain.key -outform DER -out yourdomain_key.der
DER на PEM
Используйте следующую команду для преобразования сертификата в кодировке DER в сертификат в кодировке PEM:
openssl x509 -inform DER -in yourdomain.der -outform PEM -out yourdomain.crt
Используйте следующую команду для преобразования закрытого ключа в кодировке DER в закрытый ключ в кодировке PEM:
openssl rsa -inform DER -in yourdomain_key. der -outform PEM -out yourdomain.key
Для чего используется OpenSSL?
Большинство веб-серверов в Интернете и интрасетях используют SSL-сертификаты для защиты соединений. Эти сертификаты традиционно генерируются OpenSSL — программной библиотекой, содержащей реализацию протоколов SSL и TLS с открытым исходным кодом. По сути, мы рассматриваем базовую библиотеку, предоставляющую нам множество криптографических и вспомогательных функций. Из-за простоты использования и, что наиболее важно, из-за того, что он с открытым исходным кодом (то есть бесплатный), ему удалось пробиться на вершину, и теперь он является отраслевым стандартом.
OpenSSL доступен для Windows, Linux и MacOS. Итак, прежде чем начать, убедитесь, что на вашем компьютере установлен OpenSSL. Вот список предварительно скомпилированных двоичных файлов для вашего удобства. Но, честно говоря, ОС здесь не имеет большого значения — команды в нашем случае будут идентичными.
В этом руководстве мы покажем вам, как легко можно создавать самозаверяющие сертификаты с помощью OpenSSL.
Такой самозаверяющий сертификат отлично подходит, если вы хотите использовать HTTPS (HTTP поверх TLS) для защиты вашего веб-сервера Apache HTTP или Nginx, и вы знаете, что ваш сертификат не должен быть подписан ЦС.
Как мне использовать OpenSSL?
OpenSSL полностью посвящен своим командным строкам. Ниже мы собрали несколько общих команд OpenSSL, с которыми обычные пользователи могут возиться для создания закрытых ключей. После каждой команды мы попытаемся объяснить, что именно делает эта строка кода, разбив ее на составные части. Если вы хотите изучить все команды, загляните на эту страницу.
Начнем! Прежде всего, мы хотим проверить, установлен ли у нас OpenSSL. Для этого нам нужно запустить:
версия openssl -a
Если вы получили что-то подобное, вы на правильном пути:
OpenSSL 3.0.0 7 сентября 2021 г. (библиотека: OpenSSL 3.0.0 7 сентября 2021 г.) построено: вторник, 7 сентября, 11:46:32 2021 UTC платформа: darwin64-x86_64-cc варианты: бн(64,64) компилятор: clang -fPIC -arch x86_64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -D_REENTRANT -DOPENSSL_BUILDING_OPENSSL -DNDEBUG OPENSSLDIR: "/usr/local/etc/openssl@3" ENGINESDIR: "/usr/local/Cellar/openssl@3/3. 0.0_1/lib/engines-3" MODULESDIR: "/usr/local/Cellar/openssl@3/3.0.0_1/lib/ossl-modules" Источник заполнения: зависит от ОС CPUINFO: OPENSSL_ia32cap=0x7ffaf3bfffebffff:0x40000000029c67af
Этот код эффективно указывает версию SSL, которую вы установили, и некоторые другие детали.
Теперь первое важное дело в нашей повестке дня — создать пару ключей Открытый/Закрытый. Для этого нам необходимо ввести следующую команду:
openssl genrsa - out passwork.key 2048
genrsa
– команда для генерации пары ключей по алгоритму RSA;
-out passwork.key
– это имя выходного файла ключа;
2048
– размер ключа. Обязательно перепроверьте свои требования на этом этапе, потому что это значение может меняться в зависимости от вашего варианта использования.
Теперь у нас есть файл «passwork.key» в указанном нами каталоге. После того, как мы создали файл, мы можем, например, извлечь открытый ключ, выполнив:
openssl rsa -in passwork. key -pubout -out passwork_public.key
rsa
— мы должны указать алгоритм, который мы использовал;
-in passwork.key
– берем существующую пару ключей;
-pubout
– здесь берем только публичный ключ;
-out passwork_public.key
— мы экспортируем это как файл с именем passwork_public.key
.
Теперь мы можем перейти к созданию CSR — запроса на подпись сертификата. В реальном производственном сценарии такой CSR пересылается в ЦС, который подписывает его от вашего имени, поэтому вы получаете сертификат. Но ради нашего урока мы создадим CSR и подпишем его самостоятельно.
Команда для создания CSR выглядит следующим образом:
openssl req -new -key passwork.key -out passwork.csr
req -new
— здесь мы указываем, что хотим создать что-то новое ;
-key passwork.key
— здесь указываем ключ, который будем использовать;
-out passwork. csr
— здесь указываем выходной файл.
После нажатия «Ввод» вы увидите что-то вроде этого:
Вас попросят ввести информацию, которая будет включена в ваш запрос сертификата. То, что вы собираетесь ввести, называется отличительным именем или DN. Полей довольно много, но вы можете оставить некоторые пустыми Для некоторых полей будет значение по умолчанию, Если вы введете «.», поле останется пустым.
Введите необходимые данные. Для целей нашего руководства мы ввели следующие поддельные значения:
----- Название страны (двухбуквенный код) [AU]:US Название штата или провинции (полное название) [Some-State]:FL Название местности (например, город) []: Таллахасси Название организации (например, компания) [Internet Widgits Pty Ltd]:Passwork Название организационной единицы (например, секция) []:. Обычное имя (например, полное доменное имя сервера или ВАШЕ имя) []:*.passwork.com Адрес электронной почты []:[email protected] Пожалуйста, введите следующие «дополнительные» атрибуты будет отправлен с вашим запросом сертификата Пароль вызова []: Необязательное название компании []:
Одним из наиболее важных полей является Общее имя
, которое должно соответствовать имени сервера или полному доменному имени, на котором будет использоваться сертификат.
После всех вышеперечисленных шагов у нас будет полностью сгенерированный файл CSR. В реальном мире на этом этапе мы хотели бы проверить наш файл CSR, чтобы не передать неправильный файл в ЦС. Кроме того, рекомендуется перепроверить правильность полного доменного имени.
Имея все это в виду, мы запускаем:
openssl req -text -in passwork.csr -noout -verify
Вывод в нашем случае будет таким:
Запрос сертификата, самоподпись, проверка OK Запрос сертификата: Данные: Версия: 1 (0x0) Тема: C = США, ST = Флорида, L = Таллахасси, O = Passwork, CN = *.passwork.com, адрес электронной почты = [email protected] Информация об открытом ключе субъекта: Алгоритм открытого ключа: rsaEncryption Открытый ключ: (2048 бит) Модуль: 00:дд:c9:5a:27:82:00:0e:cc:43:c2:99:3а:е7:0а: b7:c2:96:06:f1:30:d6:3e:de:7c:6d:f1:98:66:cf: 9d:8a:9c:09:43:a9:ab:59:0f:19:29:44:ec:2d:73: 47:38:94:78:1б:4ф:16:б6:4а:2б:45:55:0ф:39:56: 96:c3:53:e6:65:db:f7:91:b1:cb:36:e7:4b:cd:cd: bb:6b:36:9e:92:c9:5e:cc:09:de:f6:ca:43:66:14: 21:b1:f9:37:56:22:6a:4f:3c:c5:08:5a:ab:81:19: 88:a3:ee:87:9c:c6:1c:d5:42:71:35:33:cd:f4:ed: 59:81:c6:eb:f3:02:da:43:e0:ce:f9:a5:6a:ca:d4: 39:81:b3:17:68:4b:9a:a4:e0:41:55:c7:46:5d:38: 05:f7:cc:7b:0b:80:b8:63:f4:91:81:d8:80:7c:00: 11:e0:55:19:07:23:4a:5d:08:8e:8d:fc:c6:05:59: 12:d1:7a:de:50:c4:d3:41:5f:b2:73:33:8b:2d:b7: 80:a3:f4:66:b1:80:d1:22:01:71:b7:5d:75:a7:df: ae:e8:bd:22:32:30:71:54:56:ae:a6:b3:38:be:29: bb:af:be:01:65:fb:d4:66:84:b0:f0:fb:4b:58:c2: 0e:3e:ee:9c:01:05:2e:02:7a:e1:42:71:c2:66:80: f7:27 Показатель: 65537 (0x10001) Атрибуты: (никто) Запрошенные расширения: Алгоритм подписи: sha256WithRSAEncryption Значение подписи: 84: дб: c8: 7c: 62: f3: 54: 85: c4: df: b9:c5:f5:2d:7a:c9:01:b1: 2b:2b:69:a4:d6:ff:e8:8c:ef:39:dd:27:52:de:ba:58:67:5e: 9a:37:c2:5c:2e:1c:58:7e:5b:f6:5d:cf:c5:f7:39:17:20:5f: 82:bb:a5:52:bb:23:b9:b4:1a:c5:99:8d:1e:68:c9:1c:7e:a1: e1:39:9b:5e:b6:d4:22:17:38:fe:c8:8e:a5:82:da:ab:c9:ae: 63:e6:42:5a:e0:09:50:a5:86:5a:8b:82:0c:0b:df:40:54:0d: 9f:ec:b5:71:79:08:84:04:85:fc:6c:7b:63:38:37:b0:6d:20: 10:2b:51:8a:dd:36:e6:92:c0:b6:9c:2e:86:c9:5a:55:3c:52: 26:2b:8c:3d:80:35:fa:2a:40:c0:9e:d3:f2:e5:0e:78:e8:ea: d2:6f:ef:00:77:45:e5:1b:cc:df:da:52:b2:14:c9:23:09:f0: 9b:5e:f5:9d:7d:df:e6:82:d1:b7:3a:a4:34:b5:df:bb:d6:fa: fe:85:47:6e:63:51:c3:d2:9d:11:43:16:2c:3e:df:44:0b:a7: 08:1a:58:d5:f3:3d:49:a0:52:b7:6f:85:06:5d:da:3f:10:db: 33:4f:71:38:6d:f6:e2:0e:ad:e1:74:35:27:09:a5:90:92:18: fc:96:30:54
Как видите, в нем перечислены важные данные, которые вы предоставили, когда отвечали на вопросы, связанные с CSR. Проверьте значения и, если что-то не так, просто заново сгенерируйте CSR, прежде чем передавать его в ЦС.
Как мы упоминали ранее, вместо того, чтобы передавать наш CSR в ЦС, мы создадим самозаверяющий сертификат. Для этого нам нужно ввести следующее:
openssl x509 -in passwork.csr -out passwork.crt -req -signkey passwork.key -days 30
Команда «X509» — это наша многоцелевая утилита сертификатов. ;
- в passwork.csr
представляет наш CSR;
-out passwork.crt
— это имя и расширение файла нашего сертификата;
-req signkey passwork.key
— здесь мы указываем пару ключей, которую мы хотим использовать для подписи нашего сертификата;
-days 30
— это интервал времени истечения срока действия нашего сертификата.
Файл сертификата passwork.crt сгенерирован, так что он готов к работе! Довольно легко, правда? Что ж, становится намного проще, когда мы помним, что можем сгенерировать самозаверяющий сертификат, просто введя:
openssl req \ -newkey rsa:2048 -nodes -keyout passwork.