Создание и продление сертификата SSL бесплатно Данил Пистолетов, 04 октября 202604 октября 2026 В этой публикации мы рассмотрим создание и продление сертификата SSL без финансовых затрат для сайта. В настоящий момент SSL-сертификат перестал быть дополнением к сайту, с учётом различных алгоритмов поисковых систем, настроек безопасности в браузере и не только он стал необходимым элементом, без которого тяжело обойтись, так как его использование даёт множество возможностей своему владельцу. Например, интернет-магазинам обязательно иметь защиту транспортного уровня, чтобы получать платежи, так как платёжные сервисы не станут взаимодействовать с сайтом без надлежащей защиты. Учитывая, что сайтам малого размера без большого количества трафика невыгодно тратиться на платный сертификат от крупных удостоверяющих центров, мы рассмотрим именно бесплатные решения. Если сайт не приносит дохода и, например, преследование этой цели и не планируется, выделять средства на сертификат нецелесообразно, так как это будет лишь дополнительной тратой к оплате хостинга. Например, на текущий момент SSL-сертификаты от Timeweb стоят 1000 руб. за 6 месяцев, 1495 руб. за 6 месяцев или 3000 руб. за 6 месяцев в зависимости от выбранного сертификата. Сертификаты от REG стоят в диапазоне от 2114 руб. за год до 15595 руб. за год., опять же в зависимости от того, какой сертификат вы выберете. Стоимость на сертификаты от Beget идёт в диапазоне от 2940 руб. за год до 28650 руб. за год. Это лишь примеры цен от одних из самых популярных хостинг-провайдеров в России, у каждого сервиса свои цены. Тем не менее, большинство из российских провайдеров работает с компанией GlobalSign из Японии для их регистрации. Таким образом, вы в любом случае потратите некоторую часть своих финансов с различной маржей от какого-либо поставщика, если выберете вариант покупки сертификата. Но вы же можете сэкономить их, выпустив сертификат самостоятельно. Введение в SSL/TLS сертификаты Несмотря на то, что в этой статье и в целом в сети используется термин SSL (Secure Sockets Layer — Уровень защищённых сокетов), на деле уже давно используется другой проток — TLS (Transport Layer Security — Безопасность транспортного уровня). Просто этот термин уже устоялся, потому его и используют. Первая версия SSL была разработана в 1994 году, но из-за ощутимых недостатков не была опубликована. Вторая версия появилась через год, в 1995. Третья, последняя версия была выпущена в 1996 году. От второй версии официально отказались в 2011 году, от третьей в 2015 году. После SSL 3.0 в 1999 году появился TLS 1.0, как SSL 3.1 с новым именем. В 2006 году выпущен TLS1.1 со множеством изменений. Текущей актуальной версией является TLS1.3 от 2018 года. Версии 1.0 и 1.1 считаются устаревшими. Версии протокола SSL/TLSГодИзмененияSSL 1.01994Не выходила публично.SSL 2.01995Использовался один ключ для шифрования и аутентификации. Криптографическое рукопожатие не защищалось самим ключом, для вычисления кода аутентификации сообщения использовался алгоритм MD5.SSL 3.01996Серьёзное изменение протокола. Добавлена поддержка обмена ключами Диффи-Хеллмана, шифр-сюиты Fortezza. Использовался 128-битный ключ, сжатие записей и гибкое согласование наборов шифров.TLS 1.01999MAC на основе HMAC, запрет на сжатие при вычислении MAC. Отдельные поля для типа записи и версии протокола. Поддержка алгоритмов RSA, DH, DSS для обмена ключами. Шифры: DES, 3DES, AES, RC4. Использовался один вектор инициализации на сессию в режиме CBC.TLS 1.12006Использование явного вектора инициализации для режима CBC. Проверка ошибок дополнения для противодействия «оракулу дополнения». Поддержка регистрации новых параметров через IANA. Небольшие изменения шифровальных наборов.TLS 1.22008Переход с MD5/SHA-1 на Pseudorandom Function на основе SHA-256. Введены аутентификационные шифры — AES-GCM, AES-CCM, что позволило проводить шифрование и проверку целостности за один шаг. Добавлен механизм расширений для согласования параметров, включая SNI (Server Name Indication). Начали использоваться эллиптические кривые для обмена ключами, что обеспечило прямую секретность.TLS 1.32018Отказ от уязвимых и слабых алгоритмов, использование только AEAD-шифров (AES-GCM, AES-CCM, ChaCha20-Poly1305). Обязательная прямая секретность — обмен ключами только через DHE или ECDHE. Криптографическое рукопожатие сокращено до одного раунта. Добавлен режим 0-RTT для возобновления сессии. Подпись сервера начала шифроваться для защиты от пассивного наблюдателя. Упрощена структура протокола. Нередко слабости в криптографии в ранних версиях SSL и TLS были вызваны не столько недостатками математических моделей, сколько неоптимальной реализацией, вызванной допущением ошибок в криптографических параметрах. Использование уязвимых режимов шифрования вроде Cipher Block Chaining (режим сцепления блоков зашифрованного текста с использованием механизма обратной связи) совместно с ненадёжными хеш-функциями являлось хорошей почвой для атак. Появление TLS 1.3 означало значительное изменение архитектуры, которое исключало использование устаревших механизмов, и оптимизацию криптографических рукопожатий, что снизило задержки для пользователя. Суть работы протокола TLS заключается в создании защищённого соединения поверх прикладного протокола, в случае сайтов поверх HTTP. Протокол допускает использование и ассиметричного и симметричного шифрования. Ассиметричное шифрование применяется на этапе начала соединения для криптографического рукопожатия. Симметричное шифрование используется уже после этого для работы с защищаемыми данными. Такая реализация предполагает совмещение надёжности и скорости. Клиент сообщает серверу список известных ему алгоритмов, из которых сервер выбирает самый надёжный и известный ему. Затем сервер отправляет свой сертификат с открытым ключом для шифрования дальнейших сообщений до получения разделяемого ключа. Сертификаты подписываются удостоверяющими центрами (УЦ). Удостоверяющие центры проходят проверки по различным стандартам, например, WebTrust. Также они проверяют и то, кто запрашивает сертификат. Для сертификата DV проверяется зарегистрирован ли домен на ту компанию, которая его заказывает. Для сертификата OV проверяется зарегистрирована ли организация и имеет ли право заказчик обращаться от лица этой организации. Если организация имеет проверенный номер телефона, юридический адрес и проверенную систему подачи заявок, она может получить сертификат EV. Промежуточных центров сертификации сотни, но в хранилище сертификатов Mozilla есть лишь 65 частных издателей корневых сертификатов. Практически все издаваемые сертификаты SSL являются производными от корневых сертификатов семи крупнейших провайдеров. В Российской Федерации существуют организации, которые начали выдавать сертификаты SSL по причине того, что зарубежные удостоверяющие центры начали отзывать у российских компаний сертификаты по политическим причинам. Они являются альтернативой зарубежным удостоверяющим центрам для российских компаний, однако популярные браузеры вроде Chrome, Firefox и других не воспринимают эти сертификаты. В настоящий момент с ними работает только Яндекс и некоторые другие браузеры. По причине не самой высокой популярности Яндекс браузера некоторые владельцы сайтов совмещают применение сертификатов от российских и зарубежных УЦ. Среди российских УЦ: Национальный удостоверяющий центр (НУЦ) Минцифры России, Технический центр Интернет (ТЦИ). Создание и продление сертификата SSL на Certbot Certbot является одним из наиболее популярных средств для выпуска самоподписанного сертификата, что неудивительно, поскольку это клиент, рекомендуемый Let’s Encrypt. Он умеет работать и с другими удостоверяющими центрами через протокол ACME. Несмотря на наличие большого функционала он бесплатен и его код находится в открытом доступе. В процессе работы с ним и некоторыми другими решениями может понадобиться скопировать текст для DNS-записи типа «TXT», чтобы упростить это можно использовать комбинацию CTRL+SHIFT+C для копирования из консоли и CTRL+SHIFT+V для вставки в неё. Certbot я использовал при создании небольшого проекта в виде интернет-магазина для получения SSL-сертификата. Для его установки достаточно команды: sudo apt update && sudo apt upgradesudo apt install certbot Для выпуска SSL-сертификата и его подтверждения вручную через DNS-запись можно использовать следующую команду: certbot certonly --manual --preferred-challenges dns -d example.net Certbot предоставит вам текст, который необходимо добавить как DNS-запись с типом «TXT». После того, как вы её внесёте, необходимо подождать некоторое время, чтобы она появилась в публичном доступе. Её появление можно проверить какими-нибудь онлайн-сервисами, например, через Google Admin Toolbox. После того, как это случится, отправляете в консоль ответ, Certbot проверяет всё и при успешной попытке пишет вам по какому пути размещены SSL-сертификаты. Установка модуля для Apache: apt install python-certbot-apache Установка модуля для Nginx: apt install python-certbot-nginx Создание сертификата для Nginx: certbot run --nginx Создание сертификата для Apache: certbot --apache -d example.com -d www.example.com Создание wildcard-сертификата: certbot certonly --manual --preferred-challenges dns -d "*.pistoletoff.ru" -d pistoletoff.ru Для проверки того, начал ли на сайте работать доступ по https можете нажать на соответствующий значок в браузере возле его url-адреса. Создание и продление сертификата SSL на lego ACME-клиент Lego написан на Go, он является одновременно CLI-утилитой и библиотекой. Его можно использовать не только с Let’s Encrypt, но и с ZeroSSL, Buypass и другими ACME-серверами. Lego компилируется в один исполняемый файл, что является преимуществом перед Certbot, которому нужен Python. Из минусов: отсутствие редактирования конфигов и настройки редиректов, более тяжёлое освоение и так далее. Взять его можно на Github: https://github.com/go-acme/lego Для получения сертификата через http-01 можно использовать следующую команду, которая создаст ACME-аккаунт на указанный e-main и подтвердит владение доменом: sudo lego --accept-tos --email admin@example.com --domains example.com --domains www.example.com --http --http.webroot /var/www/html --path /etc/lego run Получение Wildcard-сертификата через проверку DNS-челленджем на примере Cloudflare: export CLOUDFLARE_DNS_API_TOKEN="ваш_токен" sudo lego --accept-tos --email admin@example.com --dns cloudflare --domains "*.example.com" --domains example.com --path /etc/lego run Ручной режим получения Wildcard: sudo lego --accept-tos --email admin@example.com --dns manual --domains "*.example.com" --domains example.com --path /etc/lego run В этом случае нужно будет создать DNS-запись вручную, как и в случае с ручной проверкой через Certbot. Создание и продление сертификата SSL на acme.sh Acme.sh написан на Bash, не требует каких-то дополнений, только Bash, curl/openssl. Он поддерживает много DNS-провайдеров, имеет хорошую документацию. Установить можно простой командой: «curl https://get.acme.sh | sh». Получение SSL для одного домена путём http-01: acme.sh --issue -d example.com --webroot /var/www/html Получение Wildcard-сертификата на примере Cloudflare: export CF_Token="token-value" export CF_Account_ID="account-id" acme.sh --issue -d example.com -d *.example.com --dns dns_cf Создание и продление сертификата SSL на других Open Source решениях Если вам интересно поискать что-то новое и интересное, то можете обратиться к другим открытым решениям, например, на Github. Описанные выше решения являются не единственными средствами для получения SSL-сертификатов. Soulteary/Certs-maker. Маловесный генератор самоподписанных сертификатов, который поддерживает Docker. С его помощью возможно выпускать сертификаты всего одной командой. Возможно использование форматов PEM или DER. Возможно использование OpenSSL или конфигурации. Fishdrowned/ssl. Другой генератор сертификатов, создатель которого не рекомендует его использование в полноценных сервисах (он пишет, что следует приобрести официальный сертификат или получить бесплатный у Let’s Encrypt). С его помощью можно создать любой сертификат, для генерации достаточно только ввода доменного имени. Возможен выпуск Wildcard-сертификата. Написан на Shell, требуется openssl. Zablik/Ssl_cert_generator. Легковесный генератор SSL-сертификатов. Для использования необходимо создать локальный центр сертификации, а затем можно создать SSL-сертификаты для каждого локального домена. Он не подойдёт для публичных сайтов, а может использоваться только для внутреннего использования. Например, для разработки или тестирования. Сайты для генерации бесплатных SSL-сертификатов Несмотря на сравнительную простоту описанных выше решений, создание и продление сертификата SSL такими способами всё равно может оказаться сложным для людей, далёких от информационных технологий. В таком случае допустимо использование сайтов, имеющих сервисы для бесплатного получения SSL-сертификата. Помимо Let’s Encrypt бесплатные TLS-сертификаты выдают, например, австрийский ZeroSSL и норвежский Buypass. Делают они это так же по протоколу ACME (Automated Certificate Management Environment), который подразумевает автоматизацию взаимодействия с удостоверяющим центром. Для получения сертификата, как правило, необходимо только пройти регистрацию и подтвердить владение доменом. Можно даже использовать эти центры по очереди. Но у таких сервисов есть свои недостатки. Начать стоит с того, что большая часть из них в России недоступна. Например, ZeroSSL отключил доступ к странице получения сертификата с российских IP-адресов, а Buypass просто не загружается. Но недостатки есть и функциональные. Wildcard-сертификаты такие сервисы обычно не выдают, ограничиваясь лишь одним доменом. Но и тут есть проблема: такие сертификаты обычно выдаются как пробники на некоторое время, а дальнейшее продление возможно лишь за финансовые вложения. Поэтому обращение к условно-бесплатным услугам этих компаний может иметь смысл в исключительных случаях вроде каких-то временных проектов, для постоянного использования они вряд ли подойдут. Это условие при обращении за временным SSL-сертификатом напоминает доменную зону «.tk». Получение бесплатного домена от Токелау (зависимой территории Новой Зеландии) было возможно лишь на год, дальнейшее продление уже платное. В своё время компания Freenom получила признание в России и многие люди начали получение доменов в этой зоне, а позже узнавали, что за продление нужно платить. Потом, правда, оказалось, что к её услугам очень часто обращались мошенники и она временно перестала заниматься регистрацией доменов. Сейчас Freenom вернулась, но уже не выдаёт бесплатные домены, только за плату. Использование самоподписанных сертификатов без обращения к удостоверяющим центрам особо успехов не принесёт. В таких случаях браузер просто будет помечать ваш интернет-ресурс как ненадёжный, что будет равнозначно отсутствию SSL-сертификата. Именно поэтому следует либо использовать инструменты вроде Certbot, lego и acme.sh, либо всё же обратиться к платным услугам каких-либо компаний, если самостоятельно получить бесплатный SSL-сертификат у вас не получается. Используемая литература Смирнов, Д. Н. Аспекты обеспечения безопасности сетевых соединений TLS / Д. Н. Смирнов // Актуальные вопросы научных исследований: от теории к практике : Сборник статей II Международной научно-практической конференции, Петрозаводск, 01 июля 2026 года. – Петрозаводск: Международный центр научного партнерства «Новая Наука» (ИП Ивановская И.И.), 2026. – С. 66-72. – EDN LWOLRL. Мелихова, Ю. А. Протоколы TLS/SSL / Ю. А. Мелихова // Школа молодых новаторов : Сборник научных статей 2-й Международной научной конференции перспективных разработок молодых ученых, Курск, 18 июня 2021 года / Юго-Западный государственный университет; Межрегиональная просветительская общественная организация «Объединение православных ученых» ;Орловский госуниверситет имени И.С. Тургенева; Рязанский государственный агротехнологический университет имени П.А. Костычева; Московский политехнический университет. Том 2. – Курск: Юго-Западный государственный университет, 2021. – С. 251-254. – EDN TQKFND. 9 распространенных мифов об удостоверяющих центрах // GlobalSign : сайт. – URL: https://www.globalsign.com/ru-ru/ssl-information-center/myths-about-cas (дата обращения: 03.10.2026) Статьи