- Почему бесплатный сертификат?
- Лучше выглядит в браузере
- CloudFlare
- Положительно сказывается (или будет) на позициях в поисковых системах
- Error: letsencrypt challenge request 429
- Essl — embedded secure socket layer
- Выпуск и настройка сертификата для панели управления vestacp
- Где получить ssl сертификат бесплатно
- Генерация сертификатов ssl / tls
- Генерация сертификатов с использованием cfssl и cfssljson
- Генерация сертификатов с использованием openssl
- Для чего нужен ssl сертификат
- Другие варианты:
- Импорт корневого сертификата в firefox 6(linux)
- Импорт корневого сертификата в ie8 (windows 7 64bit)
- Как всё это применять?
- Как создать закрытый ключ openssl
- Как создать запрос на подпись сертификата
- Какие бывают ssl сертификаты
- Кому подойдет бесплатный sslсертификат
- Немого общей имформации об ssl
- Подключение ssl сертификата, оформленного в другом месте
- Подпишем сертификат самостоятельно
- Подтверждение бесплатного ssl-сертификата через dns
- Подтверждение по почте
- Получение бесплатного ssl-сертификата через хостинг-провайдера
- Предпосылки
- Проверим сертификат
- Проверка правильности установки ssl сертификата
- Процесс создания сертификата сервера
- Рабочий процесс создания сертификата
- Сертификаты для устройств
- Создадим самоподписанный сертификат, используя существующий закрытый ключ и csr
- Создайте сертификат ca и его ключ
- Создание ssl сертификата
- Создание запроса ssl сертификата у ca
- Создание самоподписанного ssl сертификата
- Создание самоподписанного ssl-сертификата
- Создание самоподписанного ssl-сертификата без запроса
- Сценарий использования ssl во встраиваемых системах
- У хостинг-провайдера или регистратора доменных имен
- Установите cfssl и cfssljson на linux
- Установка ssl-сертификата на сервер
- Через ispmanager
Почему бесплатный сертификат?
Есть несколько видов SSL сертификатов. Чем круче — тем больше компенсация вам на случай, если кто-то взломает соединение, и еще в браузере будет писаться название вашей компании.
Для малого бизнеса это совершенно не нужно. Все, что нам нужно – самый простой сертификат(Essential). Он всего лишь позволяет установить защищенное соединение с вашим сайтом и удостовериться, что посетитель на нем.
Так почему же бесплатный? Потому что покупая этот самый простой сертификат за деньги вы платите за воздух. Никаких сложных вычислений не происходит. Все делается автоматически. Даю зуб, что на сервере за 300 руб/мес. можно сгенерировать сертификаты для всего Рунета максимум за 1 месяц, если не 1 день.
А почему же тогда их продают за деньги, спросите вы? Да просто потому что это халявные деньги. На официальном сайте Комодо они просят $76 в год минимум. На другом же сайте можно найти их же сертификат за $8. Вообще, они могли бы его и бесплатно отдать, но 76 баксов то не лишние 😉
Минусы платных сертификатов:
- Платите деньги за воздух и поощряете продавцов воздуха
- Будете платить еще в 10 раз больше денег если вам нужен сертификат для субдоменов (потому что потребуется другой сертификат — Wildcard или нужно покупать по сертификату на каждый поддомен)
В любом случае не платите за них более чем $8 в год.
Минусы бесплатных сертификатов:
- Не работают в старых браузерах и операционных системах(там где не поддерживается SNI)
Эту проблему кстати можно достаточно легко решить, просто не включая SSL для этих старых браузеров/ОС. Если вам кто-то будет настраивать это или вы сами, то вот ссылка (правило для .htaccess).
Лучше выглядит в браузере
Браузеры, с недавних пор, очень не любят сайты без SSL. И они будут пытаться помешать вашим посетителям регистрироваться и оплачивать покупки.
Вот так выглядит сайт без SSL (обычная страница) в современных браузерах:
Не так плохо, но веселье начинается если вы начнете вводить пароль или данные банковской карты. Будет вот так:
Как думаете, отпугнет ли это часть ваших посетителей? Конечно да. И это еще не все, Firefox, когда ваш посетитель будет вводить свои данные, покажет ему вот такое окошко:
С SSL сертификатом же все выглядит намного лучше:
CloudFlare
Это бесплатный CDN провайдер, используя который, вы получаете кучу полезного, включая бесплатные SSL сертификаты.
Минимальные требования к браузерам и ОС для работы сертификата можно найти внизу этой страницы (Windows Vista , Firefox 2 , Android 4.0 и т.п.)
Положительно сказывается (или будет) на позициях в поисковых системах
В Google сайты с SSL начали ранжироваться выше с 2021 года, но на очень ограниченном числе запросов. Сейчас это влияет все больше и больше.
Насчет Яндекса я не нашел информации по этому поводу, но, скорее всего, они тоже это учитывают как один из второстепенных параметров.
Error: letsencrypt challenge request 429
- Попробуйте удалить домен из панели VestaCP и добавить его снова, после чего повторить попытку выпуска сертификата.
- Повторите попытку выпуска сертификата через 1 час.
Essl — embedded secure socket layer
Дальше я представлю на Ваш суд результаты моих исследований данного вопроса проверенные опытным путем. Термин
eSSL
пришел мне в голову в процессе написания этой статьи, так что любые упоминания прошу употреблять вместе со ссылкой на
Итак, освещу немного
важные аспекты строения сертификатов
, которые позволяют использовать их нужным нам способом. Любой сертификат представляет собой совокупность строковых полей подписанную закрытым ключем (
private key
). Сертификат также содержит в себе открытый ключ для проверки подлинности данных содержащихся в этих строковых полях. Перечень полей определен в формате Х.509 v3 и описан в документе
RFC 5280
(это последняя на данный момент редакция документа, до этого действовал
RFC 3280
). Сертификат содержит поле
commomName
которое описывает имя субъекта сертификации, обычно оно совпадает с доменом веб-сайта для которого выпущен сертификат, но в стандарте нет никаких запретов на то что будет вписано в эту строку, например, строка “Вася Пупкин” будет так же валидна для этого поля с точки зрения стандарта — это
первый аспект
. Но веб-браузеры проверяют именно это поле на соответствие с именем сайта который предъявляет сертификат. К счастью для нас в формате X509 v3 определены дополнительные расширения, одно из которых
subjectAltName
, которое позволяет добавить идентификаторы, связанные с основным именем субъекта сертификации (
commomName
). Такими идентификаторами могут быть:
и это
второй
и, пожалуй, наиболее важный
аспект
строения сертификатов 3й версии стандарта. Дело в том что таких идентификаторов можно добавить несколько, т.е. можно вписать несколько IP адресов для которых будет валиден выпущенный сертификат. А это и есть то что нам нужно в случае если некое устройство имеет два Ethernet интерфейса для работы в разных под-сетях, да еще и возможность выхода в сеть через различные типы модемов, если соединение будет по PPP, то это будет третий интерфейс со своим IP адресом. Опытным путем мною был установлен
один важный момент
в назначении альтернативных IP адресов. Браузеры Internet Explorer и FireFox по разному производят проверку альтернативных имен. FireFox сверяет адрес который указан в идентификаторе
IP
, а IE — сверяет адрес с идентификатором
DNS
. Поэтому, для осуществления проверки сертификата в обоих браузерах, каждый необходимый IP адрес
должен быть указан и как IP и как DNS
. О том как это сделать будет рассказано дальше.
Выпуск и настройка сертификата для панели управления vestacp
Поддержка Let’s Encrypt доступна в VestaCP из коробки.
Для выпуска и установки сертификата вы можете отметить дополнительные опции сразу при добавлении домена в разделе WEB панели VestaCP:
Или отредактировать настройки домена в разделе WEB, выбрав опции поддержки SSL уже после добавления:
Выпуск и автоматическая установка сертификата занимают до 5 минут. После этого данные SSL-сертификата будут доступны также в настройках домена.
Помимо этого, добавляется cron-задание для автоматического обновления сертификатов, истекающих через 30 и менее дней. Проверить это можно в разделе CRON панели VestaCP:
Где получить ssl сертификат бесплатно
Нашла для вас пять способов получить SSl сертификат без затрат.
Эта некоммерческая организация выдает бесплатные SSL DV сертификаты со сроком жизни три месяца. Можно получить wildcard-сертификат.
Еще одна некоммерческая организация, которая также выдает 90-дневные DV сертификаты. Отличается от Let’s Encrypt совместимостью: как заявляет компания, их сертификаты поддерживаются на 99,99% устройств. Нет опции wildcard.
У этого сервиса есть бесплатный тариф — DV сертификат на 90 дней. Как и Free SSL, заявляют о 99,99% совместимости с серверами, браузерами и устройствами, однако на бесплатном тарифе не поддерживается wildcard.
Этот сервис защищает сайты от DDoS-атак — моментов, когда злоумышленники пытаются перегрузить ваш сайт множеством одновременных запросов, а также ускоряет загрузку. Бесплатный SSL сертификат — приятное дополнение к сервису. CloudFlare предлагает получить SSL сертификат бесплатно и на неопределенный срок на базовом тарифе, который предназначен для личных некоммерческих сайтов.
У бесплатного SSL от CloudFlare есть одно «но». Загрузка сайта ускоряется благодаря тому, что сервис кеширует ваш сайт на свои серверы и контент попадает пользователю с них. Общение происходит по цепочке «пользователь — серверы CloudFlare — ваш сервер», и SSL зашифрует только первую связь.
Генерация сертификатов ssl / tls
Шаг 1: Создайте server-csr.json с данными вашего сервера.
cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=web-servers server-csr.json | cfssljson -bare server
Генерация сертификатов с использованием cfssl и cfssljson
CFSSL и CFSSLJSON являются инструментами PKI от Cloudflare.Это делает вашу жизнь проще для создания CSR и ключей сертификатов.
Генерация сертификатов с использованием openssl
Утилита Openssl присутствует по умолчанию во всех системах на базе Linux и Unix.
Для чего нужен ssl сертификат
Во-первых, SSL сертификат поможет защитить ваших пользователей от мошенников. Какие варианты обмана могут быть:
- Злоумышленник просто заберет данные пользователей из потока данных и будет использовать их в своих целях.
- Более активное вмешательство — злоумышленник сможет изменить данные. Например, вы будете переводить платеж, а он поменяет счет получателя и сумму, и все ваши деньги уйдут к нему.
Во-вторых, пользователь будет спокоен — он увидит значок замка и будет чувствовать себя в безопасности.
В-третьих, получение SSL сертификата положительно скажется на ранжировании сайта поисковиками. Это знак, что вы заботитесь о безопасности пользователей, и повод для системы разместить вас повыше в выдаче.
Другие варианты:
- Еще бесплатные сертификаты выдает StartCom. Я пользовался им пока, в конце 2021 Mozilla, Apple и Google решили перестать доверять этим сертификатам в новых версиях браузеров. И, пока что, StartCom это не исправил.
Импорт корневого сертификата в firefox 6(linux)
В FireFox 6 это делается черех меню
Preferences
->
Encryption
->
View Certificates
, выбираем вкладку
Authorities
Далее нажимаем
Import
и открываем файл нашего корневого сертификата
ca.crt
, на вопрос об использовании, ставим галочку на идентификацию WEB-серверов.

И мы можем лицезреть наш сертификат в списке доверенных центров

Импорт корневого сертификата в ie8 (windows 7 64bit)
В меню Пуск в строке поиска наберите certmgr и нажмите комбинацию клавиш Ctrl Shift Enter, ответьте утвердительно на запрос прав администратора. У Вас запустится менеджер сертификатов.
Дважды кликните на разделе Trusted Root Certification Authorities
Кликните правой кнопкой мыши на Certificates -> All Tasks -> Import…

Запустится мастер импорта сертификатов, следуйте его инструкциям и в качестве сертификата укажите ca.crt. Если в результате получите ошибку

То поправьте ключ в реестре
HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftSystemCertificatesRootProtectedRootsFlags
установите его в
0
и перезапустите менеджер сертификатов.
Мы рассмотрели некоторые возможности SSL сертификатов позволяющие идентифицировать систему имеющую несколько IP адресов и/или Доменных имен, а так же рассмотрели простейший сценарий применения сертификатов во встраиваемых системах. Можно ли улучшить этот сценарий?
Конечно можно. Например можно сделать так чтобы корневой сертификат генерировался прямо на устройстве и отдавался пользователю по запросу, например на USB Stick. В этом случае кража корневого сертификата не повлечет за собой опастность для подобных устройств у других покупателей.
Часть информации относящуюся к сертификатам пользователей можно использовать и при покупке сертификатов подписываемых доверенными центрами сертификации. В этом случае обеспечивается наивысший уровень безопастности который может обеспечить технология SSL.
Как всё это применять?
Итак, мы создали 2 вида сертификатов, корневой сертификат и сертификат пользователя. Корневой сертификат, как правило, создается один раз и в дальнейшем используется для подписи пользовательских сертификатов, которые мы раздаем пользователям, т.е. помещаем на наши девайсы. Разберемся, как их применять.
Сертификат пользователя и ключ к нему нужно поместить на целевое устройство, у меня это некая плата с ARM контроллером и Linux-ом на борту. Не буду описывать этот процесс, т.к. он зависит от WEBсервера, что у нас там установлен.
Как создать закрытый ключ openssl
Сначала выполните команду, показанную ниже, чтобы создать и сохранить свой закрытый ключ.
Этот закрытый ключ необходим для подписи вашего SSL-сертификата.
Вы можете изменить my_key в приведенной ниже команде на свое собственное значение.
$ sudo openssl genrsa -out my_key.key
Вот что означают флаги команды:
- genrsa Создать закрытый ключ RSA
- -out Выходной файл
Если вы не указали другое местоположение, ваш закрытый ключ будет храниться в текущем рабочем каталоге.
Как создать запрос на подпись сертификата
Следующим шагом является создание запроса на подпись сертификата (CSR).
CSR – это то, что вы обычно отправляете в УЦ.
Но в этом случае вы собираетесь подписать его самостоятельно.
При создании CSR вас попросят предоставить некоторую информацию.
Некоторые поля можно оставить пустыми, нажав клавишу ETCD_CLIENT_CERT_AUTH
Теперь запустите команду, показанную ниже, чтобы начать создание CSR.
$ sudo openssl req -new -key my_key.key -out my_csr.csr
Вот что обозначает каждый флаг команды
- req Сделать запрос на подпись сертификата
- -new Новый запрос
- -key Путь, где хранится ваш файл закрытого ключа
- -out Выходной файл
Какие бывают ssl сертификаты
Есть разные виды SSL сертификатов. Они могут отличаться по количеству доменов и субдоменов, для которых они могут использоваться. Например, мультидоменные сертификаты могут защищать два, три или пять доменов. Сертификат с опцией wildcard распространяется на все субдомены указанного в сертификате домена.
Также сертификаты различаются по тому, как именно сайт будет проверяться. Тут есть три варианта:
И, наконец, есть несколько доверенных центров, которые выпускают сертификаты — например, Thawte, Sectigo, Geotrust, GlobalSign и другие. Их продукты отличаются уровнем защиты и различными дополнительными функциями.
Кому подойдет бесплатный sslсертификат
В большинстве случаев бесплатно вы можете получить только SSL сертификат низшего уровня, то есть с подтверждением домена — DV. Это значит, что вариант с бесплатным SSL сертификатом подойдет только для небольших сайтов, которые не просят у пользователя «опасных» данных вроде номера кредитки. Например, это:
- личный блог;
- сайт-визитка;
- сайт-витрина.
Для интернет-магазинов и прочих сайтов, которые запрашивают у пользователя финансовые и/или деликатные личные данные, лучше получать SSL сертификаты следующих уровней.
Немого общей имформации об ssl
Технология SSL позволяет шифровать трафик между двумя устройствами. Вы, наверное знаете, что SSL сертификаты выдаются web-сайтам и приязываются на домены или поддомены. Сертификаты выдаются доверенными центрами сертификации (
Certification Authority
) и подписываются электронными подписями. Сертификаты подтверждаются в браузерах путем проверки цепочки сертификатов (
Certification Path
), корневые сертификаты этих центров уже распространяются вместе с дистрибутивами основных браузеров и такая проверка происходит незаметно для пользователя. В случае, если доверенный корневой сертификат не найден браузером, пользователю выдается страничка с предупреждением о том, что соединение с сервером не является безопасным.

Проблема
встраиваемых систем
в том, что,
- во-первых, это не web-сайт в общем понимании этого слова (вспомните, например, веб-интерфейс Wi-Fi роутера), в момент выпуска изделия он не имеет окончательного IP адреса, и еще менее вероятно чтобы он имел какой то домен.
- во-вторых, конечный пользователь может сменить и IP, и домен, если таковой был, хотя бы в целях все той же безопастности.
- в-третьих, покупать сертификат довольно дорого, а вопрос снижения себестоимости стоит всегда.
Как же решать эти проблемы?
Подключение ssl сертификата, оформленного в другом месте
Если же вам по какой-то причине не подошли сертификаты или их стоимость от TheHost, и вы заказали SSL сертификат в другом месте, но у вас есть сайт, расположенный на данном хостинге, то вы можете подключить свой сертификат к имеющемуся сайту.
Сделать это можно в том же диалоговом окне, которое использовалось для создания самоподписанного SSL сертификата.
Только для добавления на сервер TheHost существующего документа нужно будет в поле «Тип сертификата» выбрать значение «существующий», после чего всё диалоговое окно примет следующий вид:
Вводим информацию, содержащуюся в вашем готовом SSL сертификате для домена, в соответствующие поля и нажимаем «ОК».
Если у вас возникнут трудности при добавлении данного документа, то вы всегда сможете обратиться к технической поддержке TheHost для консультации.
Подпишем сертификат самостоятельно
Когда вы запустите команду, показанную ниже, будет создан самоподписанынй сертификат, который будет действителен в течение 365 дней.
$ openssl x509 -req -days 365 -in my_csr.csr -signkey my_key.key -out my_cert.crt
Подтверждение бесплатного ssl-сертификата через dns
На этапе выбора подтверждения кликаем на «DNS», где получаем нужные данные для ввода.
На следующем шаге видим, что система мониторит записи для подтверждения.
Переходим к хостинг-провайдеру (или другой интерфейс, куда через NS был делегирован домен) и переходим к редактированию DNS.
Добавляем новую TXT-запись.
Вводим выданные нам значения.
Подтверждение по почте
В этом случае система предложит написать на одну из почт:
В этом случае будет отправлено письмо с кодом на указанный электронный адрес, через которое можно будет подтвердить информацию.
В этом случае лучше всего:
Если указанной почты нет среди аккаунтов, то следует ее создать, например, в интерфейсе Яндекс.Коннекта это выглядит так:
Отправляем письмо для проверки.
В системе видно, что сообщение отправлено.
Далее приходит письмо на почту, где нужно скопировать проверочный код и перейти на страницу верификации.
На проверочной странице вводим ключи и нажимаем на «Next».
Закрываем страницу.
В ZeroSSL обновляем статус заявки.
Видим, что все прошло успешно и кликаем на «Install Certificate».
Скачиваем бесплатный SSL-сертификат через кнопку «Download Certificate (.zip).
При необходимости можно сказать в разных форматах, например, для:
- Apache;
- AWS;
- cPanel
- NGINX;
- Ubuntu;
- И многих других.
Далее переходим к установке его на сервер.
Важно! Одни аккаунт может иметь до трех доменов с сертификатами бесплатно.
Получение бесплатного ssl-сертификата через хостинг-провайдера
Если хостинг-провайдер предоставляет бесплатный SSL-сертификат, то можно
воспользоваться им. Так его предоставляют:
Например, в случае с Timeweb достаточно посетить
административную панель после чего перейти во вкладку «SSL-сертификаты» и нажимаем на
«Заказать».
Теперь выбираем «Let’s Encrypt»
(бесплатный) и домен, которому он будет применен.
Важно! Для того, чтобы воспользоваться данным методом
необходимо делегировать сайт под управление компании хостинга при помощи А-записи.
Предпосылки
Инструментарий openssl необходим для создания самозаверяющего сертификата.
Чтобы проверить, установлен ли пакет openssl в вашей системе Linux, откройте ваш терминал, введите openssl version и нажмите Enter. Если пакет установлен, система распечатает версию OpenSSL, в противном случае вы увидите нечто подобное openssl command not found .
Если пакет openssl не установлен в вашей системе, вы можете установить его, выполнив следующую команду:
Проверим сертификат
Вы можете проверить детали сертификата в текстовом формате с помощью команды:
openssl x509 -text -noout -in my_cert.crt
Проверка правильности установки ssl сертификата
После того, как SSL сертификат на сайт установлен и активирован, логическим завершением данного процесса будет проверка наличия ошибок, которые могли возникнуть в процессе.
Они могут быть разнообразны: начиная от несовпадения информации в сертификате с той, которая хранится в центре сертификации, заканчивая ошибками в работе самого сертификата.
Процесс создания сертификата сервера
В этом руководстве мы объясним шаги, необходимые для создания сертификатов CA, SSL / TLS с использованием следующих утилит:
- openssl
- cfssl
Рабочий процесс создания сертификата
Ниже приведены шаги, необходимые для создания сертификатов CA, SSL / TLS.
Сертификаты для устройств
Теперь нам нужно создать сертификат конечного пользователя или сервера и подписать его корневым сертификатом, что мы создали в предыдущем разделе. Основная проблема для меня была в том, что мое устройство имеет несколько сетевых интерфейсов, которые подключаются в разные сети и, соответственно, имеют разные IP адреса.
Создадим самоподписанный сертификат, используя существующий закрытый ключ и csr
В некоторых ситуациях, когда у вас есть закрытый ключ и csr, будет достаточно следующих шагов.
Создайте сертификат ca и его ключ
Шаг 1: Создайте папку с именем cfssl для хранения всех сертификатов и перейдите в папку.
mkdir cfssl cd cfssl
Шаг 2: Создайте файл ca-csr.json с необходимой информацией.
cat > ca-csr.json <<EOF
{
"CN": "Demo CA",
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "US",
"L": "California",
"ST": "Milpitas"
}
]
}
EOFcfssl print-defaults config cfssl print-defaults csr
Шаг 3: Создайте ca-config.json с подписью и данными профиля.
Это будет использоваться для создания сертификатов сервера или клиента, которые можно использовать для настройки аутентификации на основе SSL / TSL.
cat > ca-config.json <<EOF
{
"signing": {
"default": {
"expiry": "8760h"
},
"profiles": {
"web-servers": {
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
],
"expiry": "8760h"
}
}
}
}
EOFСоздание ssl сертификата
Поскольку все сегодняшние действия будут производиться на хостинге TheHost, то сперва нужно создать учётную запись, чтобы они были возможны.
Для этого регистрируемся на сайте thehost.ua, после чего вам на электронную почту придёт письмо с учётными данными пользователя, а также ссылкой на кабинет пользователя и панель управления хостингом.
Как я уже сказал, SSL сертификаты можно создавать разные и различными способами. Начнём с самого простого с технической точки способа, который потребует от вас минимума знаний.
Создание запроса ssl сертификата у ca
Ну, и ещё одной возможностью, доступной в данном диалоговом окне создания SSL сертификата, является генерация запроса на выпуск данного документа в центре сертификации.
Данная возможность вам может пригодиться, как уже говорилось ранее, при заказе SSL сертификата не через своего хостинг провайдера, а через других, в том числе и при обращении в CAнапрямую.
Сгенерировать запрос на выпуск SSL сертификата для домена можно прямо у себя на рабочем компьютере с помощью специальных утилит.
Наиболее распространённой является OpenSSL, которая доступна как под Linux, так и под Windows благодаря CygWin или использованию других эмуляторов консоли Linux (та же самая командная строка Git поддерживает Linux команды или утилита PuTTY).
Также есть масса онлайн генераторов запросов на выпуск SSL сертификата. Вот наиболее популярные из них:
Также, данные генераторы предоставляют все официальные сертифицирующие центры и многие хостинг провайдеры.
Есть такой и у TheHost, который доступен в данном окне.
Чтобы его запустить, выбираем в поле «Тип ключа» значение «Запрос», после чего диалоговое окно примет следующий вид:
Вводим необходимую информацию и нажимаем ОК. После этого на сервере TheHost сгенерируются файлы csr и key, которые вы сможете в дальнейшем использовать для выпуска сертификата.
Создание самоподписанного ssl сертификата
Итак, как сделать заказ генерации SSL сертификата у официальных центров сертификации, я вам показал.
Создание самоподписанного ssl-сертификата
Чтобы создать новый самоподписанный сертификат SSL, используйте openssl req команду:
Давайте разберем команду и разберемся, что означает каждая опция:
-newkey rsa:4096– Создает новый запрос сертификата и 4096-битный ключ RSA. Значение по умолчанию составляет 2048 бит.-x509– Создает сертификат X.509.-sha256– Используйте 265-битный SHA (алгоритм безопасного хэширования).-days 3650– Количество дней для сертификации сертификата. 3650 – это 10 лет. Вы можете использовать любое положительное целое число.-nodes– Создает ключ без ключевой фразы.-out example.crt– Указывает имя файла, в который будет записан вновь созданный сертификат. Вы можете указать любое имя файла.-keyout example.key– Задает имя файла, в который будет записан вновь созданный закрытый ключ. Вы можете указать любое имя файла.
Для получения дополнительной информации о параметрах openssl req команды посетите страницу документации OpenSSL req.
Как только вы нажмете Enter, команда сгенерирует закрытый ключ и задаст вам ряд вопросов, которые она будет использовать для генерации сертификата.
Generating a RSA private key
......................................................................
........
writing new private key to 'example.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Введите запрашиваемую информацию и нажмите Enter.
Создание самоподписанного ssl-сертификата без запроса
Если вы хотите сгенерировать самозаверяющий SSL-сертификат без запроса какого-либо вопроса, используйте -subj параметр и укажите всю информацию о субъекте:
Generating a RSA private key
......................................................................
........
writing new private key to 'example.key'
-----Поля, указанные в
-subj
строке, перечислены ниже:
C=– Название страны. Двухбуквенное сокращение ISO.ST=– Название штата или провинции.L=– Название населенного пункта. Название города, в котором вы находитесь.O=– Полное название вашей организации.OU=– Организационная единица.CN=– Полное доменное имя.
Сценарий использования ssl во встраиваемых системах
Приведу для примера один из возможных сценариев использования сертификатов во встраиваемых системах. Этот сценарий не требует покупки сертификатов, но имеет ограничения в использовании. Итак,
- Нам потребуется создать самоподписанный корневой сертификат, в этом случае мы станем сами себе центром сертификации.
- Далее нам нужно создать сертификат для нашего web-интерфейса и подписать его корневым сертификатом, созданным на первом шаге.
- Этот сертификат мы помещаем в память нашей встраиваемой системы где его сможет найти встроенный веб-сервер.
- Всем пользователям веб-интерфейса мы должны выдать наш корневой сертификат, но не приватный ключ.
- Пользователи веб-интерфейса должны импортировать наш корневой сертификат в свои веб-браузеры на всех компьютерах с которых предполагается вход на веб-интерфейс.
Особо отмечу
, что этот сценарий
не является безопасным
, подобный способ используют производители роутеров, а умные хакеры извлекают ключи из прошивок и складывают в базу данных
У хостинг-провайдера или регистратора доменных имен
Это условно-бесплатный способ получить SSL сертификат. Если вы только собираетесь заводить сайт или ищете новый хостинг — рассмотрите предложения, где бонусом идет сертификат.

Установите cfssl и cfssljson на linux
1. Загрузите исполняемые файлы и сохраните их в /usr/local/bin
3. Проверьте установку, выполнив команду cfssl:
Установка ssl-сертификата на сервер
В первую очередь распаковываем архив с сертификатом и видим, что он состоит из:
- certificate.crt (сертификат);
- private.key (приватный ключ);
- ca_bundle.crt (промежуточный сертификат).
Данный пункт необходим тем, кто не смог получить его у хостера и приобрел его не у своего провайдера. Для этого посещаем раздел «SSL», где выбираем пункт «Установить».
Вводим в соответствующие поля свой файл и завершаем установку.
Важно! Если не имеется навыка работы с интерфейсом хостинг компании (у некоторых провайдеров отсутствует возможность загружать сертификат самостоятельно в интерфейсе) рекомендуется загрузить архив с сертификатом на сервер и написать в поддержку с просьбой об установке.
Важно! Срок действия сертификата 3 месяца, после чего его потребуется
обновиться, выполнив инструкцию еще раз.
Важно! Если сертификат выдается на поддомен, то потребуется
подтвердить лишь основной домен (соответственно загрузить лишь 1 файл или
установить 1 TXT-запись).
Через ispmanager
Следует посетить раздел «WWW»-«SSL-сертификаты»,
после чего кликнуть на «Создать».
Выбираем пункт «Существующий».
Ставим данные из файлов в нужные поля и даем имя
сертификату.
Важно! Если не получается воспользоваться ни первым ни
вторым способом или данного раздела (SSL) нет в административной панели (как, например, в SprintHost), то Вы можете
загрузить сертификаты на свой сервер и создать тикет хостинг-провайдеру для
установки.
