Что такое OpenSSL? How Does OpenSSL Work?

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

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


Оглавление

  1. Что такое OpenSSL?
  2. Для чего используется OpenSSL?
  3. Как использовать OpenSSL
  4. Общие команды OpenSSL

Что такое OpenSSL?

OpenSSL – это универсальная криптографическая библиотека, которая предлагает применение протокола TLS с открытым исходным кодом. Он позволяет пользователям выполнять различные задачи, связанные с SSL, включая генерацию CSR (Certificate Signing Request), генерацию закрытых ключей и установку SSL-сертификата.


Для чего используется OpenSSL?

OpenSSL – это инструмент командной строки с открытым исходным кодом, который обычно используется для генерации CSR и закрытых ключей, установки SSL-файлов на Ваш сервер, объединения файлов, преобразования Вашего сертификата в различные форматы SSL, проверки информации о сертификате и устранения любых потенциальных неполадок.

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

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


Как использовать OpenSSL

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

Впервые выпущенный в 1998 году, OpenSSL доступен для систем Linux, Windows, macOS и BSD. Большинство дистрибутивов Linux поставляются с предварительно скомпилированным OpenSSL.

Как проверить, установлен ли OpenSSL в Linux?

Чтобы проверить, установлен ли OpenSSL в Вашей системе Linux, воспользуйтесь приведенными ниже командами.

Для дистрибутивов GNU/Linux, использующих пакеты rpm:

rpm -qa | grep -i openssl

Для дистрибутивов GNU/Linux, использующих пакеты deb:

dpkg -l | grep -i openssl

Для Arch Linux используйте:

pacman -Q openssl


Как использовать OpenSSL в Windows?

Если Вы работаете в системе Windows, Вы можете скачать OpenSSL отсюда.

При установке по умолчанию на диске C будет создан каталог для программы – C:\OpenSSL-Win32

Чтобы запустить программу, перейдите в каталог C:\OpenSSL-Win32\bin\ и дважды щелкните на файле openssl.exe. Откроется текстовое окно с приглашением OpenSSL>.

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


Общие команды OpenSSL

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

Проверьте версию OpenSSL

Очень важно знать, какая у Вас версия OpenSSL, поскольку она определяет, какие криптографические алгоритмы и протоколы Вы можете использовать. Вы можете проверить версию OpenSSL, выполнив следующую команду:

Версия openssl -a


Сгенерируйте CSR с помощью OpenSSL

Вы можете использовать OpenSSL для создания кода CSR (Certificate Signing Request). Выполните следующую команду, чтобы сгенерировать CSR:

openssl req -new -key yourdomain.key -out yourdomain.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"

В качестве альтернативы Вы можете создать CSR с помощью инструмента для генерации CSR.


Сгенерируйте закрытый ключ с помощью OpenSSL

Чтобы сгенерировать свой закрытый ключ, Вам нужно указать алгоритм ключа, размер ключа и необязательную кодовую фразу. Стандартный алгоритм ключа – RSA, но Вы также можете выбрать ECDSA для определенных ситуаций. Выбирая алгоритм ключа, убедитесь, что у Вас не возникнет проблем с совместимостью. В этой статье мы покажем только, как генерировать закрытый ключ с помощью алгоритма RSA.

Для размера ключа Вам следует выбрать 2048 бит при использовании алгоритма RSA и 256 бит при использовании алгоритма ECDSA. Любой размер ключа меньше 2048 небезопасен, а большее значение может замедлить работу.

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

Когда Вы будете готовы сгенерировать свой закрытый ключ (с алгоритмом RSA), выполните приведенные ниже команды:

openssl genrsa -out yourdomain.key 2048

Эта команда создаст файл yourdomain.key в Вашей текущей директории. Ваш закрытый ключ будет в форматеPEM.


Просмотр информации о закрытом ключе с помощью OpenSSL

Вы можете просмотреть закодированное содержимое Вашего закрытого ключа с помощью следующей команды:

cat yourdomain.key


Расшифруйте закрытый ключ с помощью OpenSSL

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

openssl rsa -text -in yourdomain.key -noout


Извлеките открытый ключ с помощью OpenSSL

Чтобы извлечь Ваш открытый ключ из закрытого, выполните следующую команду:

openssl rsa -in yourdomain.key -pubout -out yourdomain_public.key


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

OpenSSL настолько универсален, что в нем также есть команда для генерации как Вашего закрытого ключа, так и CSR:

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

Эта команда генерирует закрытый ключ без ключевой фразы (-keyout yourdomain.key) и код CSR (out yourdomain.csr).


Проверьте информацию CSR с помощью OpenSSL

Чтобы убедиться в том, что Вы указали правильную информацию перед отправкой CSR в Ваш ЦС, выполните приведенную ниже команду:

openssl req -text -in yourdomain.csr -noout -verify


Отправьте CSR в ЦС

Выполните следующую команду, чтобы просмотреть и скопировать все содержимое CSR:

cat yourdomain.csr

Убедитесь, что Вы включили теги –BEGIN CERTIFICATE REQUEST– и –END CERTIFICATE REQUEST-, и вставьте все в форму заказа Вашего поставщика SSL.


Проверка сертификата в OpenSSL

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

openssl x509 -text -in yourdomain.crt -noout

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


Нижняя линия

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

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

Если Вы ищете дополнительную информацию о том, что такое OpenSSL и как он работает, эта бесплатная книга – отличный ресурс.

Часто задаваемые вопросы

В чем разница между SSL и OpenSSL?

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

С другой стороны, OpenSSL – это криптографическая утилита, которая использует командные строки для управления генерацией, установкой и идентификацией сертификатов SSL/TLS.

Копировать ссылку

Является ли Openssl бесплатным для использования?

Да, OpenSSL можно свободно использовать в коммерческих и некоммерческих целях.

Копировать ссылку

Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Написано

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