Как сгенерировать самоподписанный сертификат
Мы уже рассказывали как сгенерировать SSL-сертификат от Let’s Encrypt в операционных системах Windows и Linux. Это полноценные сертификаты, предназначенные для использования в рабочем окружении. Но для тестирования может потребоваться создание большого их количества, а процесс верификации нескольких сертификатов Let’s Encrypt может быть неудобным. Для массовой генерации больше подходят самоподписанные сертификаты.
В TrueConf Server можно генерировать самоподписанные сертификаты прямо в панели управления сервером. Но если по каким-то причинам этот способ вам не подходит или нужно создать самоподписанный сертификат для других продуктов TrueConf (например, TrueConf Group), то это можно сделать с помощью криптографической библиотеки OpenSSL.
Установка OpenSSL и создание сертификата на Windows
- Перейдите на страницу загрузки OpenSSL, скачайте необходимый инсталлятор версии Light в зависимости от разрядности ОС и запустите его.
- После установки программы, необходимо добавить путь к ней как системную переменную. Для этого перейдите в Панель управления → Система → Дополнительные параметры системы → Переменные среды.
В разделе Системные переменные выберите переменную Path и нажмите Изменить. В открывшемся окне нажмите Создать и введите путь к папке bin установленного приложения (
C:\Program Files\OpenSSL-Win64\bin
по умолчанию). Нажмите ОК.Для применения настроек может понадобиться перезагрузка компьютера.
- Создайте папку, куда вы бы хотели сохранить созданные сертификаты (например,
C:\cert
). - Откройте командную строку (cmd) от имени администратора и перейдите в ранее созданную папку (
cd /d C:\cert
). - Выполните следующую команду:
openssl req —x509 —sha256 —nodes —days 365 —newkey rsa:2048 —keyout privateKey.key —out certificate.crt
где:
-x509
— уточнение, что нам нужен именно самоподписанный сертификат;
-newkey
— автоматическое создание ключа сертификата;
-days
— срок действия сертификата в днях;
-keyout
— путь (если указан) и имя файла ключа;
-out
— путь (если указан) и имя файла сертификата. - Последовательно введите: код страны, её название, город, название компании, название отдела, FQDN сервера или ваше имя и адрес электронной почты.
- В папке
C:\cеrt
сгенерируются 2 файла:- certificate.crt — сам сертификат;
- privateKey.key — файл ключа.
Установка OpenSSL и создание сертификата на Linux
Для примера мы рассмотрим генерацию самоподписанного сертификата на сервере с развёрнутой ОС Debian 10.
Для выполнения перечисленных далее команд в ОС должна присутствовать программа sudo и пользователь, под которым они запускаются, должен быть в соответствующей группе. В Debian по умолчанию sudo может отсутствовать, проверьте её наличие командой sudo -V
и установите при необходимости с помощью команды apt install sudo
(выполняется под учётной записью root). А для добавления пользователя с логином user в группу sudo выполните sudo usermod -a -G sudo user
.
Некоторые Linux дистрибутивы поставляются с уже установленным пакетом openssl. Чтобы проверить, установлен ли этот пакет у вас, в терминале выполните в терминале команду openssl version
. Если в ответ появится текст вида OpenSSL 1.1.0l 10 Sep 2019
, то перейдите к шагу 3.
- Обновите установленные в системе пакеты с помощью консольной команды:
sudo apt update && sudo apt —y upgrade
- Установите OpenSSL, введя команду:
- Создайте каталог, куда вы бы хотели сохранить созданные сертификаты с помощью команды mkdir (например,
mkdir /home/$USER/cert
).$USER
– переменная окружения ОС семейства Linux, при использовании в командах она автоматически заменяется на логин текущего пользователя в системе. - Перейдите в ранее созданный каталог с помощью команды cd (например,
cd /home/$USER/cert
). - Выполните шаги 5-6 раздела создания сертификата для Windows.
- В каталоге
/home/$USER/cert
сгенерируются 2 файла:- certificate.crt — сам сертификат;
- privateKey.key — файл ключа.
Попробуйте безопасную ВКС-платформу Труконф!
ВКС-решение TrueConf Server работает внутри вашей закрытой сети без подключения к интернету
и позволяет собирать до 1500 человек в одной конференции!
Крупнейшее ВКС-сообщество в России
Живой диалог с разработчиками, помощь с настройкой ВКС-систем, полезные материалы, ранние доступы и бета-версии — всё в специальном чате @trueconf_talks.
Подписаться
Актуальные новости из мира ВКС
Подписывайтесь на канал нашего информационного партнёра «Видео+Конференция», чтобы быть в курсе последних новостей в сфере видеоконференцсвязи и AV-оборудования.
Выпустить самоподписанный SSL сертификат может каждый, для этого достаточно сделать 2 простых шага:
- Установить OpenSSL на Windows;
- Выполнить парочку команд в командной строке.
Самоподписанный SSL сертификат прежде всего нужен тем, кто ведет тестовые работы и впоследствии не хочет работать с переписью урлов в базе данных. Ведь если вы начнете делать ваш проект на без сертификата, то есть на HTTP протоколе, а потом решите перейти на HTTPS, что однозначно будет верным решением, то вы столкнетесь с проблемой Mixed Content на сайте.
Это означает, что часть урлов будет по-прежнему в http формате, а другая часть в https. Чтобы этого избежать и создают самоподписанный SSL сертификат, если нет возможности выпустить пока что полноценный.
Устанавливаем OpenSSL Light
Эта утилита позволит нам быстро создать самоподписанный ssl сертификат для всех наших дальнейших работ.
Вам нужно сделать несколько простых шагов:
1. Скачать OpenSSL Light по ссылочке тут (https://slproweb.com/products/Win32OpenSSL.html), в соответствии с разрядностью вашей системы (у большинство уже 64 бита, но бывают и исключения);
2. Выполнить несложную установку программы без самодеятельности, просто нажимая «Далее», «Принять» и так далее;
3. Далее вам необходимо придумать и создать папку куда будет создан самоподписанный SSL сертификат утилитой OpenSSL, например, в моем случае это будет не системный диск C, а вспомогательный – D:\My Сerts;
4. Запустить от имени администратора командную строку (CMD) и выполнить команду cd /d D:\My Certs – она отправит нас в созданную ранее нами папку для выпуска самоподписанного SSL сертификата;
5. Финальный шаг! Осталось выполнить еще одну команду:
6. После отправки команды на генерацию самоподписанного SSL сертификата система предложит вам заполнить несколько полей, сделать это можно в произвольном формате.
Ну вот и все! Далее нам остается перейти в созданную нами папку, в моем случае это D:\My Сerts и проверить их наличие. В папке должен корректно создаться 2 файла:
- certificate.crt
- privateKeykey
Вот таким нехитрым способом буквально за 10 минут с первой попытки мы создали самоподписанный SSL сертификат на Windows 10. В дальнейшем, такая генерация займет у вас не более 2-х минут, что не может не радовать!
Заключение
Данный способ считается продвинутым, но и само использование самоподписанного сертификата уже говорит о повышенном уровне подготовки и компетенциях. Если вы столкнулись с трудностями и у вас не получается создать самоподписанный SSL сертификат самостоятельно, то правильным решением будет прибегнуть к помощи панелей администрирования сервером, отличным и бесплатным вариантом является FastPanel – ее можно поставить на сервер одной командой и прямо внутри интерфейса создать самоподписанный ssl сертификат без всех этих кодов и прочего.
Я же пишу эту статью, так как столкнулся с проблемой генерации самоподписанного сертификата ssl внутри новой и набирающей популярность AAPanel. Панель отличная, в чем то даже удобнее вышеупомянутой FastPanel, но вот с самоподписанными SSL есть нюансы и сложности – нужно генерировать самостоятельно или уже ставить полноценный Let’s Encrypt, если есть такая возможность.
- Главная
- —
- Статьи 1С
- —
- Статьи и инструкции по 1С
- —
- Техподдержка
В статье рассмотрим как создать самоподписанный SSL сертификат с помощью OpenSSL на Windows Server, а также установка сертификата в IIS и привязка к сайту.
Что такое SSL-сертификат и для чего он нужен?
По сути, SSL-сертификат — это цифровая подпись вашего сайта, подтверждающая его подлинность. Использование сертификата позволяет защитить как владельца сайта, так и его клиентов.
SSL-сертификат даёт возможность владельцу применить к своему сайту технологию SSL-шифрования.
Таким образом, назначение SSL-сертификата — обеспечить безопасное соединение между сервером и браузером пользователя, надёжно защитить данные от перехвата и подмены.
Как создать самоподписанный SSL сертификат и установить его на Windows Server (IIS)
Прежде всего нужно установить утилиту OpenSSL. Как ее установить рассказано в отдельной статье.
Далее, создаем отдельную папку в которой будем создавать файлы сертификата (к примеру C:\OpenSSL)
Открыть командную строку в режиме Администратор
Правой кнопкой по кнопке ПУСК — Командная строка (Администратор)
Перейдем в нашу папку
Команда cd «c:\OpenSSL»
Генерируем приватный ключ
Команда openssl genrsa -out server.key 2048
Выполняем запрос на сертификат
Команда: openssl req -new -key server.key -out server.csr
Вводим информацию и компании и домене
Генерируем самоподписанный сертификат
Команда openssl req -new -x509 -days 365 -key server.key -out server.crt
Преобразуем сертификат и ключ в файл .pfx
Команда openssl pkcs12 -inkey server.key -in server.crt -export -out server.pfx
придумайте пароль и вводите его два раза, при этом не будет видно что он вводится
Импортируем сертификат в наш веб-сервер
Открываем Диспетчер служб IIS
Приязываем сертификат к сайту
Делаем перезапуск
Готово.
После этих действий ваш сайт будет доступен по протоколу HTTPS
Назад к списку статей
Павел4 декабря 2021 13:46 |
Добрый день. А в чем разника созданного в Open SSL сертификате и просто созданного из самого ISS в разделе Сертификаты Сервера самозаверенного сертификата ? |
ИмяЦитировать0 |
Комментировать
Самоподписанные сертификаты часто используются для разработки, тестирования или внутреннего использования, когда нет необходимости в сертификатах, выданных доверенными центрами сертификации (CA). В этой статье мы пошагово разберём, как создать такой сертификат с помощью OpenSSL.
Что потребуется
- OpenSSL (предустановлен в большинстве дистрибутивов Linux и macOS, на Windows можно установить вручную)
- Терминал
Шаг 1: Создание приватного ключа
Приватный ключ используется для подписи сертификата и защищает соединение.
openssl genrsa -out private.key 2048
private.key
— имя файла с приватным ключом2048
— длина ключа в битах (можно указать 4096 для большей надёжности)
Шаг 2: Создание запроса на сертификат (CSR)
Хотя мы не будем отправлять CSR центру сертификации, он нужен для создания сертификата.
openssl req -new -key private.key -out request.csr
В процессе выполнения команды OpenSSL задаст вам вопросы:
- Country Name (код страны)
- State or Province Name (регион)
- Locality Name (город)
- Organization Name (название компании)
- Common Name (домен, например:
example.com
илиlocalhost
)
⚠️ Важно: в поле Common Name укажите домен или IP-адрес, для которого вы создаёте сертификат.
Шаг 3: Создание самоподписанного сертификата
Теперь, используя ключ и CSR, создаём сертификат, действительный, например, один год (365 дней):
openssl x509 -req -days 365 -in request.csr -signkey private.key -out certificate.crt
certificate.crt
— итоговый сертификат
Шаг 4 (опционально): Объединение сертификата и ключа в .pem
Некоторые приложения (например, Nginx) используют формат PEM:
cat private.key certificate.crt > fullchain.pem
Проверка содержимого сертификата
Убедитесь, что всё сработало:
openssl x509 -in certificate.crt -text -noout
Вы увидите информацию о сроке действия, алгоритмах и субъекте сертификата.
Где можно использовать самоподписанный сертификат
- Локальные серверы (например,
localhost
) - Тестовые среды
- Внутренние сервисы, доступные только по VPN
Важное замечание
Браузеры и системы не доверяют самоподписанным сертификатам, и будут показывать предупреждения при открытии таких сайтов. Это нормально для тестирования, но для продакшена рекомендуется использовать сертификаты от Let’s Encrypt или другого CA.
Заключение
Создание самоподписанного SSL-сертификата — простой и быстрый способ обеспечить HTTPS для разработки и тестирования. OpenSSL предоставляет все необходимые инструменты, и при правильном подходе вы можете безопасно работать даже в изолированных средах.
Последнее обновление
Самоподписанные сертификаты могут не пользоваться доверием браузеров и не подходить для реальных сайтов, но они могут быть полезны в тестовых или интранет-средах. Вы можете создать самоподписанный сертификат с помощью OpenSSL. Это быстрый и бесплатный процесс. Все, что Вам нужно сделать, это выполнить несколько команд.
Это руководство покажет Вам, как сгенерировать самоподписанный сертификат с помощью OpenSSL в операционных системах Windows, Linux и Mac. Подход одинаков, независимо от того, какую ОС Вы используете. Итак, давайте начнем!
Как создать самоподписанный сертификат
Прежде чем мы обсудим технические аспекты, давайте разберемся в концепции самоподписанных сертификатов. Самоподписанный сертификат – это цифровой сертификат, подписанный его создателем, а не доверенным центром сертификации (ЦС). Хотя самоподписанные сертификаты не поддерживаются внешними организациями, они полезны для внутреннего использования, например, для тестирования, разработки или личных серверов.
В качестве предварительного условия убедитесь, что в Вашей системе установлен OpenSSL. Большинство дистрибутивов Linux поставляются с предустановленным OpenSSL. Пользователи Windows могут загрузить и установить OpenSSL, следуя нашим инструкциям по установке. Чтобы установить OpenSSL на Mac, Вы можете воспользоваться менеджером пакетов Homebrew , выполнив команду “brew install openssl”.
Шаг 1: Откройте Терминал или Командную строку
Во-первых, откройте терминал или командную строку. В Linux и Mac Вы можете найти его в папке Applications или Utilities. В Windows найдите “Command Prompt” в меню Пуск.
Шаг 2: Перейдите в каталог OpenSSL (необязательно)
Если OpenSSL нет в PATH Вашей системы, перейдите в каталог, где установлен OpenSSL, с помощью команды cd. Например:
cd /path/to/openssl
Шаг 3: Сгенерируйте закрытый ключ
Первый шаг – это создание закрытого ключа с помощью OpenSSL. Выполните приведенную ниже команду. Замените private.key на желаемое имя файла.
openssl genpkey -algorithm RSA -out private.key
Шаг 4. Сгенерируйте запрос на подписание сертификата (CSR)
Затем сгенерируйте CSR, используя закрытый ключ. CSR – это текстовый блок с контактной информацией о Вашем домене и компании.
openssl req -new -key private.key -out csr.pem
Следуйте подсказкам, чтобы предоставить необходимую информацию, такую как страна, штат, организация и т.д. Введите свое имя, веб-сайт и информацию. Приведенные ниже данные служат лишь для примера.
- Название страны: Введите двухбуквенный код Вашей страны. Например, США
- Название штата или провинции: Введите название штата, в котором официально зарегистрирована Ваша организация. Например, Калифорния
- Название населенного пункта: Введите название населенного пункта или города, в котором находится Ваша компания: Например, Сан-Хосе
- Название организации: Укажите официальное название Вашей организации: Например, SSL Dragon
- Имя организационного подразделения: Введите название подразделения в Вашей организации, отвечающего за управление сертификатами SSL. Например, ИТ
- Общее имя: Введите полное доменное имя (FQDN), которое Вы хотите закрепить, или Ваше имя. Например, ssldragon.com
- Адрес электронной почты: [email protected]
- Заданный пароль: yourpassword
- Необязательное название компании: Вы можете оставить его пустым
Шаг 5. Сгенерируйте самоподписанный сертификат
Наконец, создайте самоподписанный сертификат, используя CSR и закрытый ключ:
openssl req -x509 -days 365 -key private.key -in csr.pem -out certificate.crt
Эта команда создает самоподписанный сертификат, действительный в течение 365 дней. Вы можете настроить срок действия по своему усмотрению.
После выполнения команды создания самоподписанного сертификата с помощью OpenSSL, файл сертификата будет создан в директории, где Вы выполнили команду.
В этой команде флаг вывода -out certificate.crt задает имя файла сертификата – certificate.crt. Итак, чтобы найти сгенерированный сертификат, Вы можете заглянуть в ту же директорию, где Вы работали, когда выполняли команду OpenSSL. В качестве альтернативы, если Вы укажете другой путь для выходного файла, Вы найдете сертификат в указанном месте.
Вопросы, связанные с получением сертификата
После того, как Вы сгенерировали свой самоподписанный сертификат, необходимо помнить о нескольких моментах:
- Установка сертификата: После генерации сертификата Вы должны установить его на свой сервер или службу. Процесс установки зависит от Вашего приложения или серверного программного обеспечения. Например, в Apache Вы обычно обновляете файл конфигурации SSL, чтобы он указывал на файлы сертификатов.
- Продление сертификата: У самоподписанных сертификатов есть дата истечения срока действия, обычно устанавливаемая в процессе генерации. Очень важно следить за датами истечения срока действия сертификатов и обновлять их до истечения срока действия, чтобы избежать сбоев в работе служб.
- Доверие к сертификату: В отличие от сертификатов, выпущенных доверенными центрами сертификации, самоподписанные сертификаты не вызывают автоматического доверия у веб-браузеров или почтовых клиентов. Пользователи, обращающиеся к службам, защищенным самоподписанными сертификатами, могут столкнуться с предупреждающими сообщениями, в которых им будет предложено подтвердить исключение из правил безопасности. Вот почему самоподписанные подходят для целей разработки, а не для реального производства.
Нижняя линия
В этом руководстве мы рассказали, как сгенерировать самоподписанный сертификат с помощью OpenSSL. Шаги и командные строки идентичны независимо от того, создаете ли Вы самоподписанный сертификат в Linux или Windows.
Мы также обсудили вопросы, связанные с созданием сертификата после его получения, чтобы обеспечить бесперебойное внедрение и работу. Хотя самоподписанные сертификаты полезны для внутренних целей, не забывайте приобретать доверенные SSL-сертификаты для производственных сред, где требуется проверка третьей стороной.
Сэкономьте 10% на SSL-сертификатах при заказе сегодня!
Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10
Опытный автор контента, специализирующийся на SSL-сертификатах. Превращает сложные темы кибербезопасности в понятный, увлекательный контент. Вносите свой вклад в повышение уровня цифровой безопасности с помощью впечатляющих рассказов.