Как пользоваться OpenSSL: ключи, сертификаты и шифрование файлов

Как установить OpenSSL на Windows, macOS и Linux, создать ключ, CSR и самоподписанный сертификат с subjectAltName.

Ещё в статье проверка сертификата сайта, перевод в PFX, шифрование файла паролем и разбор частых ошибок.

Все команды запущены на OpenSSL 4.0 и 3.0, вывод настоящий.

Статью написал:
Ваня Буявец, продюсер, основатель Checkroi
Ваня Буявец
Основатель Checkroi, продюсер, эксперт в выборе онлайн-курсов
Все 3139 статей автора Подписаться на Телеграм-канал
Одобрено экспертом:
Наташа Буявец, основатель Checkroi, эксперт по онлайн-курсам
Наташа Буявец
Основательница Checkroi, продюсер Youtube-каналов, эксперт по онлайн-курсам
Все 3793 экспертных мнения Подписаться на Телеграм-канал
Обложка: Как пользоваться OpenSSL: ключи, сертификаты и шифрование файлов

OpenSSL — бесплатная библиотека шифрования и утилита командной строки openssl, которая идёт вместе с ней. Через неё создают ключи, запросы на сертификат (CSR), самоподписанные SSL-сертификаты, проверяют сертификат сайта и шифруют файлы. Самоподписанный сертификат для локальной разработки делается одной командой:

openssl req -x509 -newkey rsa:2048 -noenc -days 365 \
  -keyout localhost.key -out localhost.crt \
  -subj "/CN=localhost" \
  -addext "subjectAltName=DNS:localhost,IP:127.0.0.1"

На выходе два файла: закрытый ключ localhost.key и сертификат localhost.crt. Как устроены сами протоколы, мы разбирали в статье «Что такое SSL и TLS», а здесь только команды. Все примеры ниже запущены на OpenSSL 4.0.3 (macOS) и 3.0.13 (Ubuntu 24.04), вывод в блоках настоящий.

CheckroiCheckroiПодборка курсов по администрированию Linux123 курса • 25 школСравните цены, школы, программу и найдите выгодные предложения по обучениюСравнить→

Какую версию OpenSSL ставить

Рой работает в терминале с OpenSSL

У проекта несколько живых веток, и у каждой свой срок поддержки. Таблица ниже собрана по странице загрузок OpenSSL на 2 ноября 2026 года.

Ветка Последний выпуск Поддержка до Кому подходит
4.1 4.1.0, 23 октября 2026 23 ноября 2027 новые проекты, свежий Homebrew
4.0 4.0.3, 29 сентября 2026 14 мая 2027 кто уже перешёл на 4.x
3.5 LTS 3.5.9, 29 сентября 2026 8 апреля 2030 серверы и всё, что должно жить долго
3.6 3.6.5, 29 сентября 2026 1 ноября 2026 поддержка закончилась, обновляйтесь

Ветки 3.0, 1.1.1 и 1.0.2 проект больше не поддерживает, об этом сказано в политике выпусков. При этом в Ubuntu 24.04 до сих пор стоит 3.0.13: дистрибутив сам переносит в неё исправления безопасности, поэтому системный пакет обновляйте через apt, а не меняйте руками.

Для командной строки разница между ветками небольшая. В 4.0 убрали SSLv3, движки (engines) и скрипт c_rehash, его заменяет openssl rehash (список изменений есть в NEWS.md проекта). Все команды этой статьи одинаково работают в 3.x и 4.x, кроме мелочей в формате вывода.

Как установить OpenSSL на Windows, macOS и Linux

Проверить, есть ли утилита, можно одной командой в терминале:

openssl version
OpenSSL 4.0.3 29 Sep 2026 (Library: OpenSSL 4.0.3 29 Sep 2026)

Windows

В самой Windows OpenSSL нет. Три рабочих варианта:

  • Установщик Shining Light. На slproweb.com лежат сборки Win64 и ARM64. Авторы сборок пишут, что обычно хватает редакции Light.
  • winget. В PowerShell: winget install ShiningLight.OpenSSL.Light. Это тот же установщик, только без браузера.
  • Git for Windows. Если Git уже стоит, OpenSSL у вас есть: он лежит внутри и запускается из Git Bash. По заметкам к выпускам, с сентября 2026 года в комплекте OpenSSL 3.5.9.

После установщика откройте новое окно терминала. Если openssl version отвечает «не является внутренней или внешней командой», добавьте папку bin из каталога установки в переменную PATH.

macOS

Команда openssl в macOS уже есть, но это LibreSSL, ответвление OpenSSL от OpenBSD:

/usr/bin/openssl version
LibreSSL 3.3.6

Части флагов из этой статьи у LibreSSL нет, например -brief у s_client и -copy_extensions. Настоящий OpenSSL ставится через Homebrew: brew install openssl даёт ветку 4.1, а brew install openssl@3 ставит LTS 3.5 (карточка формулы).

Linux

В Ubuntu и Debian утилита почти всегда стоит из коробки. Если нет, поставьте её через sudo apt install openssl, а в Fedora и RHEL через sudo dnf install openssl.

Для сборки своих программ на C с библиотекой нужен ещё пакет заголовков libssl-dev (в Fedora openssl-devel), а линковать придётся с флагами -lssl -lcrypto. Про сам компилятор есть отдельная инструкция по установке.

Канал основателя Checkroi Вани Буявца3 700 человек читают мой Телеграм-канал про нейросетиСобрал промпты для Claude Code и ChatGPT, разборы ИИ-инструментов и лайфхаки по продвижению бизнеса в одном местеПрисоединиться

Как создать закрытый ключ

С ключа начинается всё остальное: сертификат, CSR, подпись. Для любого алгоритма подходит одна современная команда, genpkey:

# RSA 3072 бита
openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:3072 -out server.key

# эллиптическая кривая P-256: короче и быстрее RSA
openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 -out ec.key

# Ed25519 — для подписей
openssl genpkey -algorithm ED25519 -out ed.key

Все три файла начинаются со строки -----BEGIN PRIVATE KEY-----: это формат PEM, обычный текст в Base64. Как устроена эта кодировка, разобрано в статье про Base64.

Алгоритм Где пригодится Что учесть
RSA 2048–4096 сайты, почта, старые системы поддерживается везде, ключ и подпись длинные
EC P-256 сайты и API короткий ключ, быстрое рукопожатие
Ed25519 подписи файлов, SSH, токены самый короткий ключ; для сертификата сайта берите RSA или EC

Ключ можно сразу закрыть паролем, добавив шифр. Тогда первая строка файла станет -----BEGIN ENCRYPTED PRIVATE KEY-----, и OpenSSL будет спрашивать пароль при каждом использовании:

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:3072 \
  -aes-256-cbc -out server-protected.key

Для ключа веб-сервера пароль обычно не ставят: nginx или Apache не смогут подняться после перезагрузки без человека. Вместо пароля ограничьте доступ к файлу: chmod 600 server.key. Права, пользователи и настройка nginx входят в программу курсов по администрированию Linux.

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

Самоподписанный сертификат подписан своим же ключом, а не центром сертификации. Как связаны закрытый и открытый ключи, объясняет статья о том, как устроена криптография. Браузер ему не доверяет, но для локальной разработки, тестового стенда и внутренних сервисов его хватает. Команда из начала статьи по флагам:

Флаг Что делает
req -x509 выпустить сразу сертификат, а не запрос на него
-newkey rsa:2048 заодно создать новый ключ RSA
-noenc не шифровать ключ паролем; старый флаг -nodes в 3.x и 4.x помечен как устаревший
-days 365 срок действия в днях
-subj "/CN=localhost" имя владельца без интерактивных вопросов
-addext "subjectAltName=…" альтернативные имена: домены и IP, для которых сертификат действует

Без строки subjectAltName сертификат в браузере не заработает. Стандарт RFC 9525 запрещает опознавать сервер по полю Common Name, имя берётся только из расширения subjectAltName. Сертификат с одним CN=localhost современный браузер отклонит, даже если добавить его в доверенные.

Проверяем, что получилось:

openssl x509 -in localhost.crt -noout -subject -issuer -dates -ext subjectAltName
subject=CN=localhost
issuer=CN=localhost
notBefore=Nov  2 05:20:31 2026 GMT
notAfter=Nov  2 05:20:31 2027 GMT
X509v3 Subject Alternative Name:
    DNS:localhost, IP Address:127.0.0.1

Совпадение subject и issuer и есть признак самоподписанного сертификата. Вместо замка HTTPS браузер покажет предупреждение. Чтобы оно исчезло, файл localhost.crt добавляют в системное хранилище доверенных корневых сертификатов Windows, macOS или Linux.

Как сделать CSR для центра сертификации

Для публичного сайта нужен сертификат от центра сертификации. Ему отправляют запрос на подпись (CSR): в нём открытый ключ и имена, а закрытый ключ остаётся у вас.

  1. Создайте ключ, как в разделе выше.
  2. Сформируйте запрос с нужными доменами:
    openssl req -new -key server.key -out server.csr \
      -subj "/C=RU/O=Example/CN=example.ru" \
      -addext "subjectAltName=DNS:example.ru,DNS:www.example.ru"
  3. Проверьте подпись и содержимое запроса:
    openssl req -in server.csr -noout -verify -subject
    Certificate request self-signature verify OK
    subject=C=RU, O=Example, CN=example.ru
  4. Вставьте текст server.csr в форму центра сертификации или у хостинга.

Если доменов много, удобнее конфиг

Длинную строку -addext легко испортить лишней запятой. Когда имён больше двух-трёх, их выносят в файл настроек, например san.cnf:

[req]
distinguished_name = dn
req_extensions = ext
prompt = no

[dn]
C = RU
O = Example
CN = example.ru

[ext]
subjectAltName = @alt_names

[alt_names]
DNS.1 = example.ru
DNS.2 = www.example.ru
DNS.3 = api.example.ru

Строка prompt = no отключает вопросы про страну и организацию: всё берётся из секции [dn]. Запрос создаётся командой openssl req -new -key server.key -config san.cnf -out server.csr, и в нём оказываются все три домена. Этот же файл годится для самоподписанного сертификата: добавьте к команде -x509 -days 365, а в секцию [req] строку x509_extensions = ext.

Для бесплатных сертификатов Let’s Encrypt CSR вручную обычно не делают: клиент certbot создаёт ключ и запрос сам. Сроки у публичных сертификатов сокращаются. По решению CA/Browser Forum максимальный срок с марта 2026 года поэтапно уменьшается с 398 до 47 дней к марту 2029-го, так что продление стоит сразу автоматизировать.

Свой центр сертификации для внутренней сети

Схема внутреннего центра сертификации

Когда сервисов внутри компании много, удобнее завести свой маленький центр сертификации (CA). Тогда в доверенные добавляют один корневой сертификат, а не каждый по отдельности.

  1. Корневой ключ и сертификат CA на 10 лет:
    openssl req -x509 -newkey rsa:4096 -noenc -days 3650 \
      -keyout ca.key -out ca.crt -subj "/CN=My Test CA"
  2. Подпись CSR сервера корневым ключом:
    openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key \
      -CAcreateserial -out server.crt -days 397 -copy_extensions copyall
    Certificate request self-signature ok
    subject=C=RU, O=Example, CN=example.ru
  3. Проверка цепочки:
    openssl verify -CAfile ca.crt server.crt
    server.crt: OK

Флаг -copy_extensions copyall переносит subjectAltName из запроса в сертификат. Без него домены из CSR потеряются, и браузер снова пожалуется на имя. Файл ca.key храните отдельно от серверов: кто его получит, тот выпустит сертификат на любое имя в вашей сети. В компаниях такой центр обычно ведёт администратор Linux или служба безопасности.

Ваня БуявецКанал основателя Checkroi Вани БуявцаЗабирайте промпты и обучение по нейросетям в моём Телеграм-каналеБольше 3 700 человек уже применяют Claude Code, ChatGPT и другие нейросети в работе, учёбе, бизнесе и жизниПерейти в канал

Как посмотреть и проверить сертификат

Полное содержимое сертификата выводит openssl x509 -in server.crt -noout -text. Для повседневных задач хватает коротких команд.

Отпечаток сертификата

openssl x509 -in localhost.crt -noout -fingerprint -sha256
sha256 Fingerprint=A6:B0:A5:E7:14:03:1E:55:0F:FA:2E:DA:08:20:15:9C:41:2D:30:91:CA:17:FD:B6:6B:1D:76:D0:71:67:0B:DE

Подходит ли ключ к сертификату

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

openssl x509 -in server.crt -noout -pubkey | openssl sha256
SHA2-256(stdin)= d276c283e96a6ccba498e1388af9980863ab332b0f00fb5685274a493c9f9881

openssl pkey -in server.key -pubout | openssl sha256
SHA2-256(stdin)= d276c283e96a6ccba498e1388af9980863ab332b0f00fb5685274a493c9f9881

Сертификат живого сайта

Команда s_client подключается к серверу как браузер и показывает итог рукопожатия:

openssl s_client -connect checkroi.ru:443 -servername checkroi.ru -brief </dev/null
Connecting to 5.253.61.149
CONNECTION ESTABLISHED
Protocol version: TLSv1.3
Ciphersuite: TLS_AES_256_GCM_SHA384
Peer certificate: CN=checkroi.ru
Hash used: SHA256
Signature type: rsa_pss_rsae_sha256
Verification: OK
Peer Temp Key: X25519, 253 bits
DONE

Флаг -servername не пропускайте: на одном IP часто живут десятки сайтов, и без него сервер может отдать чужой сертификат. Чтобы увидеть всю цепочку, которую отдаёт сервер, добавьте -showcerts. У checkroi.ru в ответе три блока BEGIN CERTIFICATE: сертификат сайта и промежуточные сертификаты Let’s Encrypt.

Срок действия и издателя удобно вытащить в одну строку, передав сертификат по конвейеру:

echo | openssl s_client -connect checkroi.ru:443 -servername checkroi.ru 2>/dev/null \
  | openssl x509 -noout -issuer -enddate
issuer=C=US, O=Let's Encrypt, CN=YR2
notAfter=Dec 27 23:30:00 2026 GMT

Для мониторинга есть флаг -checkend с числом секунд. -checkend 2592000 проверяет, проживёт ли сертификат ещё 30 дней: код выхода 0 значит «да», а 1 значит «пора продлевать». Строку легко повесить в cron, если вы уже пользуетесь основными командами Linux. Такие проверки срока сертификатов обычно настраивает DevOps-инженер.

Как конвертировать PEM, DER и PFX

Разные программы ждут сертификат в разной упаковке. Linux-серверы и nginx берут PEM, Windows и IIS чаще хотят PFX с ключом внутри.

Задача Команда
PEM → DER openssl x509 -in server.crt -outform DER -out server.der
DER → PEM openssl x509 -in server.der -inform DER -out server.pem
PEM + ключ → PFX openssl pkcs12 -export -out server.pfx -inkey server.key -in server.crt -certfile ca.crt
PFX → сертификаты openssl pkcs12 -in server.pfx -nokeys -out certs.pem
PFX → ключ без пароля openssl pkcs12 -in server.pfx -nocerts -noenc -out server.key

При создании PFX OpenSSL спросит пароль на сам контейнер. Ключ внутри шифруется AES-256, это видно в сводке openssl pkcs12 -in server.pfx -noout -info:

MAC: sha256, Iteration 2048
PKCS7 Encrypted data: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256
Shrouded Keybag: PBES2, PBKDF2, AES-256-CBC, Iteration 2048, PRF hmacWithSHA256

Старые PFX, выгруженные из Windows много лет назад, зашифрованы алгоритмом RC2, и OpenSSL 3.x и 4.x открывать их по умолчанию отказывается. Как это выглядит и что с этим делать, показано в разделе про ошибки.

Как зашифровать файл паролем

Команда enc шифрует файл паролем. Рабочий вариант для 3.x и 4.x:

# зашифровать
openssl enc -aes-256-cbc -pbkdf2 -iter 600000 -salt \
  -in secret.txt -out secret.enc

# расшифровать — те же параметры плюс -d
openssl enc -d -aes-256-cbc -pbkdf2 -iter 600000 \
  -in secret.enc -out secret.txt

Пароль OpenSSL спросит сам. Зашифрованный файл начинается с подписи Salted__, по ней его легко узнать. Для регулярной защиты данных в компании одной команды мало, этим занимается специалист по информационной безопасности.

Флаг -pbkdf2 не пропускайте. Без него ключ из пароля выводится старым быстрым способом, и OpenSSL прямо об этом предупреждает:

*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.

По документации enc, с -pbkdf2 по умолчанию делается 10 000 итераций. Чем их больше, тем дольше подбирать пароль перебором. Число итераций обязательно запишите: при расшифровке с другим значением получится ошибка bad decrypt.

У enc есть ограничение. Та же документация прямо говорит, что команда не поддерживает режимы с проверкой целостности вроде GCM, и попытка выдаёт enc: AEAD ciphers not supported. Значит, испорченный или подменённый файл enc не распознает. Если это важно, рядом с файлом кладут подпись из следующего раздела.

Хеши, подписи и случайные строки

Контрольная сумма файла считается командой dgst. Результат совпадает с sha256sum в Linux и shasum -a 256 в macOS:

openssl dgst -sha256 secret.txt
SHA2-256(secret.txt)= 1b9ce2a4289c1edf122fbc206f4abfd57182bee5d926680eee65a4c752d9d68f

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

openssl pkey -in server.key -pubout -out server.pub
openssl dgst -sha256 -sign server.key -out secret.sig secret.txt
openssl dgst -sha256 -verify server.pub -signature secret.sig secret.txt
Verified OK

Если поменять в файле хоть один символ, вместо Verified OK будет Verification failure и код выхода 1. Почему так работает, объясняет статья о том, как устроена криптография.

Ещё в OpenSSL есть генератор случайных данных. Им удобно делать пароли, токены и секреты для конфигов:

openssl rand -hex 16       # 32 шестнадцатеричных символа
openssl rand -base64 32
4n94XkJn/T+Gy8Vl2gN813miv9Bl7t/05Xs20ETpigE=

Шпаргалка: главные команды OpenSSL

Всё из статьи в одной таблице. Имена файлов замените на свои.

Задача Команда
Версия openssl version
Ключ EC openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 -out ec.key
Самоподписанный сертификат openssl req -x509 -newkey rsa:2048 -noenc -days 365 -keyout a.key -out a.crt -subj "/CN=localhost" -addext "subjectAltName=DNS:localhost"
CSR openssl req -new -key a.key -out a.csr -config san.cnf
Прочитать сертификат openssl x509 -in a.crt -noout -text
Проверить цепочку openssl verify -CAfile ca.crt a.crt
Сертификат сайта openssl s_client -connect site.ru:443 -servername site.ru -brief
Собрать PFX openssl pkcs12 -export -out a.pfx -inkey a.key -in a.crt
Зашифровать файл openssl enc -aes-256-cbc -pbkdf2 -iter 600000 -salt -in f -out f.enc
Хеш файла openssl dgst -sha256 f
Случайный токен openssl rand -hex 32

Частые ошибки и что с ними делать

Рой проверяет чек-лист после исправления ошибки

Тексты ошибок ниже сняты с OpenSSL 4.0.3. В 3.x они такие же, отличаются только пути к файлам исходников в хвосте строки.

bad decrypt

Симптом: при расшифровке enc -d выходит bad decrypt и строка с ossl_cipher_unpadblock.

Причина: неверный пароль или другие параметры: забыли -pbkdf2, поменяли -iter или шифр.

Решение: повторить ровно те флаги, с которыми файл шифровали.

Could not find or decode private key

Симптом: Could not find or decode private key of key from enc.key, а в хвосте maybe wrong password.

Причина: ключ под паролем, а пароль неверный. Если подсказки про пароль нет, скорее всего, вы подсунули не тот файл, например сертификат вместо ключа: на server.crt команда выдаёт ровно эту строку.

Решение: проверить первую строку файла через head -1, там будет видно, что внутри.

unable to get local issuer certificate

Симптом: error 20 at 0 depth lookup: unable to get local issuer certificate в openssl verify или s_client.

Причина: OpenSSL не нашёл, кто выпустил сертификат. На сервере это почти всегда пропущенный промежуточный сертификат в цепочке.

Решение: при проверке передайте корень через -CAfile ca.crt, а в конфиге сервера укажите полную цепочку (fullchain), а не один сертификат сайта.

verify error:num=18:self-signed certificate

Симптом: s_client подключается, но пишет об ошибке проверки с номером 18.

Причина: на сервере самоподписанный сертификат, и он не в списке доверенных. Для тестового стенда это нормально.

Решение: укажите сертификат явно через -CAfile localhost.crt, тогда проверка пройдёт.

RC2-40-CBC при открытии PFX

Симптом: Error outputting keys and certificates и Algorithm (RC2-40-CBC : 0) при чтении PFX.

Причина: контейнер зашифрован устаревшим алгоритмом, который в 3.x вынесли в отдельный провайдер legacy.

Решение: добавить флаг -legacy, например openssl pkcs12 -legacy -in old.pfx -nokeys -out certs.pem, и затем пересобрать PFX уже с AES. Флаг работает, только если провайдер legacy есть в вашей сборке: в Ubuntu 24.04 и Homebrew мы его проверили, он на месте.

deprecated key derivation used

Это не ошибка, файл всё равно зашифруется. Но это сигнал, что пароль защищён слабо: добавьте -pbkdf2 и, при желании, -iter.

Где освоить администрирование и безопасность системно

Ключи, CSR и проверка сертификатов входят в ежедневную работу администраторов, DevOps-инженеров и специалистов по безопасности. Если команды из статьи хочется понимать целиком, вместе с настройкой веб-серверов и сетей, посмотрите курсы по администрированию Linux и информационной безопасности в нашем каталоге.

КурсШколаСтоимость со скидкойВ рассрочкуДлитель­ностьОбзор курса от Checkroi
Профессия «Системный администратор»
Перейти на сайт курса
НетологияНетология76 700 ₽5125 ₽/мес.11 месяцевОбзор курса
Администрирование ОС Linux
Перейти на сайт курса
SkillboxSkillbox90 157 ₽5556 ₽/мес.3 месяцаОбзор курса
Системный администратор
Перейти на сайт курса
GeekBrainsGeekBrains99 500 ₽2764 ₽/мес.7 месяцевОбзор курса
Системный администратор (Бакалавриат)
Перейти на сайт курса
Университет СинергияУниверситет Синергия73 333 ₽ - 3 годаОбзор курса
Linux для робототехников
Перейти на сайт курса
SkillboxSkillbox33 460 ₽ - 3 месяцаОбзор курса

Больше программ — в полном каталоге курсов по администрированию Linux

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

Что такое OpenSSL простыми словами?

Это бесплатный набор инструментов для шифрования. Библиотеку встраивают в веб-серверы и программы, а утилита openssl в терминале создаёт ключи и сертификаты, проверяет сертификат сайта и шифрует файлы. Как устроены сами протоколы, рассказано в статье «Что такое SSL и TLS».

Как установить OpenSSL на Windows?

Проще всего скачать сборку Light на slproweb.com или выполнить winget install ShiningLight.OpenSSL.Light. Если уже стоит Git for Windows, OpenSSL есть в Git Bash. После установки откройте новое окно терминала и проверьте openssl version.

Как создать самоподписанный сертификат через OpenSSL?

Одной командой: openssl req -x509 -newkey rsa:2048 -noenc -days 365 -keyout localhost.key -out localhost.crt -subj "/CN=localhost" -addext "subjectAltName=DNS:localhost". Строку subjectAltName не пропускайте: без неё браузер сертификат не примет.

Чем флаг -noenc отличается от -nodes?

Ничем, оба оставляют закрытый ключ без пароля. В OpenSSL 3.x и 4.x -nodes помечен как устаревший, в новых командах лучше писать -noenc.

Почему браузер предупреждает о самоподписанном сертификате?

Его подписал ваш же ключ, а не центр сертификации, которому браузер доверяет. Для тестов добавьте сертификат в системное хранилище доверенных корневых сертификатов, для публичного сайта нужен сертификат от центра сертификации, например бесплатный Let's Encrypt.

Можно ли бесплатно использовать OpenSSL в коммерческом проекте?

Да. С версии 3.0 OpenSSL распространяется по лицензии Apache 2.0, это указано на странице лицензии проекта. По тексту лицензии она бесплатная и бессрочная, разрешает копировать, изменять и распространять код, в том числе в составе своих программ.

Читайте Checkroi первым в Google
Добавьте Checkroi в избранные источники — и наши разборы курсов и обзоры школ будут показываться выше в вашей выдаче Google.
Оставить комментарий
0 комментариев
Форма комментария

Оставьте комментарий

Напишите, что думаете. Нам важно ваше мнение!