* / \ ( ) ?.,&.

Поля для заполнения будут следующими:

  • 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.
key

В случае потери пароля или файла ключа надо будет заказывать повторное создание сертификата.

Одновременное создание ключа и запроса с данными:

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-SdGSIk3DqvPAqCAMIACAQSxALBgkq
ddhgrtkiG9w0BBwGg&KLPmowggHXAh Ub7egest5u0M63v1Z2A/kFghj5CSqGSIb3DQBAs+klMF8xCzAnbijNByhTMd54vSA (. ……) E+cFEGjgrHJgrA+eRP6XraWw8iiguUtfgrrcJgg4P6XVS4l39+l5aCEGGbauLP5W6 K99orhIhgQrlX2+KeDi+xBG2coigehIGFeQS/16S36ITcluHGY5EA+&A5ujbhgrYHS ——END CERTIFICATE——

Скопируйте данный сертификат туда же (в ту же директорию), где лежит ваш частный (приватный) ключ, назовем этот каталог /etc/ssl/crt/. В нашей ситуации приватный ключ — это private.key. Публичным ключом будет выступать domain.crt.

Задайте корневой и промежуточный сертификат

Очень важный пункт. Чтобы заслужить доверие браузеров и различных мобильных устройств к вашему SSL-сертификату, вам нужно будет задать сертификаты корневых и промежуточных ЦС (центров сертификации). Такие сертификаты обычно лежат вместе с файлом Вашего главного сертификата. Для Apache их надо объединить в ca_bundle.

Чтобы ссылка на данный файл была корректной, следует произвести следующее в необходимом разделе Virtual Host для вашего веб-сайта:

  1. Выполните копирование файла server.
    ca-bundle в каталог, в котором у вас находятся файлы сертификата и ключа (у нас это: /etc/ssl/crt/).
  2. Далее внесите новую строку в секцию SSL в файле httpd.conf. Если эта строка уже имеется, отредактируйте ее, чтобы она имела следующий вид: SSLCertificateChainFile /etc/ssl/crt/y_server.ca-bundle
  3. В том случае, если вы используете иное расположение и иные названия файлов, вам надо будет изменить путь и имена файлов. Раздел 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

  1. Сохраните файл 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 сертификатами.

Приобрести же SSL сертификат очень удобно и выгодно в компании ЛидерТелеком. Любые вопросы, связанные с выдачей сертификата, можно будет легко решить при помощи отзывчивой службы поддержки.


Как пользоваться OpenSSL [АйТи бубен]

Homepage: OpenSSL

Утилита openssl основная программа реализующая протокол безопасных соединений (SSL) и инструменты криптографии. В этом пакете содержится программа openssl и инструменты криптографии.

Это часть пакета OpenSSL, непосредственно реализующая Что такое SSL сертификат для сайта, почты.

Этот пакет позволяет:

  • создавать ключи RSA, DH и DSA

  • создавать сертификаты X.509, CSR и CRL

  • вычислять дайджесты сообщений

  • зашифровывать и расшифровывать

  • тестировать Что такое SSL сертификат для сайта, почты/TLS клиент и сервер

  • обрабатывать подписанную или зашифрованную S/MIME почту

  • Для просмотра сертификатов работающего сервера можно использовать команду

    # openssl s_client -connect localhost:25 -showcerts
    CONNECTED(00000003)
    30997:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.
    c:583:
  • Отобразить информацию о закрытом ключе:

    # openssl rsa  -text -in /etc/ssl/private/ssl-cert-snakeoil.key 
    Private-Key: (1024 bit)
    modulus:
        00:bb:ce:ce:8f:e1:53:6b:35:c4:58:82:48:6f:05:
    ...
  • Отобразить информацию о сертификате в формате PEM:

    # openssl x509  -text -in /etc/ssl/certs/ssl-cert-snakeoil.pem 
    Certificate:
        Data:
            Version: 1 (0x0)
            Serial Number:
                a5:5a:c8:9a:24:20:a6:f5
            Signature Algorithm: sha1WithRSAEncryption
            Issuer: CN=mail.luxorcom.net
            Validity
                Not Before: May 23 16:17:57 2009 GMT
                Not After : May 21 16:17:57 2019 GMT
            Subject: CN=mail.example.com
            Subject Public Key Info:
                Public Key Algorithm: rsaEncryption
                RSA Public Key: (1024 bit)
                    Modulus (1024 bit):
                        00:bb:ce:ce:8f:e1:53:6b:35:c4:58:82:48:6f:05:
    .
    ..
  • Просмотр отпечатков сертификата:

    openssl x509 -fingerprint -noout -in newcert.pem (хеш MD5, для SHA1 добавить ключ -sha1).
  • Проверка секретного ключа, CSR и подписанного сертификата сравнением вывода (должен быть одинаковым):

    openssl rsa -noout -modulus -in privkey.pem |openssl md5
          openssl req -noout -modulus -in certreq.csr |openssl md5
          openssl x509 -noout -modulus -in newcert.pem |openssl md5

Источник: IMAP И POP GMAIL ЧЕРЕЗ TELNET ИЛИ ЧИТАТЬ ПОЧТУ ЭТО ПРОСТО

openssl s_client -crlf -ign_eof -connect imap.gmail.com:993

Мы коннектимся на gmail с использованием SSL. Параметр -crlf гарантирует что нам не придётся испытывать проблем с переносом строк и наши команды будут распознаны так, как надо. Параметр -ign_eof обещает нам, что команды, начинающиеся с буквы R будут корректно восприняты s_client и не вызовут разрыва SSL.

  • Входим в аккаунт:

Все команды предваряются точкой и пробелом.

. login я@gmail.com мойпароль
. list "" "*"

/source/index.html

Основные исходные коды хранятся в нашем репозитории git, который доступен по сети и клонируется на GitHub по адресу https://github.com/openssl/openssl. Ошибки и исправления (проблемы и запросы на включение) должны быть зарегистрированы в репозитории GitHub. Пожалуйста, ознакомьтесь с лицензией.

В таблице ниже перечислены последние выпуски для каждой ветви. (Объяснение нумерации см. в нашей стратегии выпуска.) Все выпуски можно найти в /source/old. Список сайтов-зеркал можно найти здесь.

Примечание: Последней стабильной версией является серия 3.1, поддерживаемая до 14 марта 2025 г. Также доступна серия 3.0, которая представляет собой версию с долгосрочной поддержкой (LTS) и поддерживается до 7 сентября 2026 г. Предыдущая версия LTS (1.1 .1) также доступна и поддерживается до 11 сентября 2023 г. Все более старые версии (включая 1.1.0, 1.0.2, 1.0.0 и 0.9.8) больше не поддерживаются и не должны использоваться. Пользователям этих старых версий рекомендуется как можно скорее обновиться до 3.1 или 3.0. Доступна расширенная поддержка версии 1.0.2 для получения доступа к исправлениям безопасности для этой версии.

Следующие версии OpenSSL прошли проверку FIPS.

OpenSSL 3.0.0. См. сертификат и политику безопасности

.

Пожалуйста, следуйте инструкциям политики безопасности, чтобы загрузить, создать и установить проверенный поставщик OpenSSL FIPS. Другие выпуски OpenSSL МОГУТ использовать проверенного поставщика FIPS, но НЕ ДОЛЖНЫ создавать и использовать своего собственного поставщика FIPS. Например, вы можете собрать OpenSSL 3.1 и использовать с ним поставщик OpenSSL 3.0.0 FIPS.

Информация о настройке и использовании поставщика FIPS в ваших приложениях доступна на справочной странице модуля FIPS. Вы также должны прочитать политику безопасности модуля и следовать включенным в нее конкретным инструкциям по сборке и установке.

Обзор некоторых ключевых концепций OpenSSL 3.1 и 3.0 см. на странице руководства libcrypto. Информация и примечания о миграции существующих приложений на OpenSSL 3.1 (и 3.0) доступны в Руководстве по миграции OpenSSL 3.1

.
КБ Дата Файл
15161  14 марта 2023 13:19:09  openssl-3.1.0.tar.gz (SHA256) (знак PGP) (SHA1)
9650  2023-07 февраля 15:38:20 openssl-1.1.1t.tar.gz (SHA256) (знак PGP) (SHA1)
14796  2023-07-02 15:38:20  openssl-3.0.8.tar.gz (SHA256) (знак PGP) (SHA1)

При сборке выпуска в первый раз обязательно просмотрите файл INSTALL в дистрибутиве вместе с любым файлом NOTES, подходящим для вашей платформы. Если у вас возникли проблемы, посмотрите FAQ, который можно найти в Интернете. Если вам все еще нужна дополнительная помощь, присоединитесь к списку адресов электронной почты openssl-users и задайте там вопрос.

ключей PGP для подписей доступны на странице OTC. Текущие участники, которые подписывают релизы, включают Ричарда Левитта, Мэтта Касуэлла, Пола Дейла и Томаса Мраза.

Каждый день мы делаем снимок каждой ветки разработки. Их можно найти по адресу https://www.openssl.org/source/snapshot/. Эти ежедневные снимки исходного дерева предоставляются только для удобства и даже не гарантируются при компиляции. Обратите внимание, что хранение локального репозитория git и его обновление каждые 24 часа эквивалентно и часто будет быстрее и эффективнее.

Законодательство

Пожалуйста, помните, что экспорт/импорт и/или использование сильных криптографическое программное обеспечение, предоставляющее криптографические крючки или даже просто передача технических деталей о криптографическом программном обеспечении незаконно в некоторых частях мира. Итак, когда вы импортируете это посылку в вашу страну, распространять ее оттуда или даже просто отправьте технические предложения или даже исходные исправления по электронной почте авторам или другим людям, которым мы настоятельно рекомендуем платить близко внимание на любые законы или постановления, которые применяются к ты. Авторы OpenSSL не несут ответственности за какие-либо нарушения вы делаете здесь. Так что будьте осторожны, это ваша ответственность.

Вы здесь:

Главная : Загрузки


Карта сайта

Краткое справочное руководство по OpenSSL | DigiCert.com

Оглавление
  1. Проверка версии OpenSSL
  2. Создание OpenSSL и CSR
  3. Выбор вариантов генерации ключей
  4. Создание личного ключа
  5. Извлечение открытого ключа
  6. Создание CSR
  7. Использование переключателя -subj
  8. Создание CSR с помощью одной команды
  9. Проверка информации CSR
  10. Отправка CSR в ЦС
  11. Просмотр информации о сертификате
  12. Проверка совпадения ключей
  13. Преобразование форматов сертификатов

Узнайте, как использовать наиболее распространенные команды 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 -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
         0б: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 хранит информацию о ключе и сертификате в двух отдельных файлах и обычно использует одинаковые расширения файлов (например, .