Перейти к содержимому

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

  • автор:

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

Самоподписанный сертификат – сертификат, изданный самим пользователем, без обращения к доверенной стороне Удостоверяющему центру. Самоподписанный сертификат является одновременно личным и корневым (устанавливается в Личное хранилище сертификатов и «Доверенные корневые центры сертификации»).

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

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

Для создания самоподписанного сертификата, выполните следующие шаги:

  1. В дереве элементов главного окна выберите раздел Сертификаты. Вызовите правой клавишей мыши контекстное меню и выберите пункт Создать > Самоподписанный сертификат. Откроется Мастер создана самоподписанного сертификата.
  2. На первом шаге ознакомьтесь с порядком и требованиями создания самоподписанного сертификата. Нажмите Далее.
  3. На следующем шаге из выпадающего списка выберите шаблон сертификата:
  4. Укажите идентификационную информацию о владельце будущего сертификата, в зависимости от того, какой шаблон вы выбрали на предыдущем шаге.

Поля отмеченные знаком «*» являются обязательными для заполнения.
Обратите внимание, если вы указываете ИНН юридического лица, номер всегда должен начинаться с «00», например 007707049388.
СНИЛС указывается без пробелов и знаков «-», например, 07306654534.

  • Используемый криптопровайдер.
  • Выберите вариант создания ключевого набора.
    • Создать ключевой набор — сертификат будет создан на основе нового ключевого набора.
    • Использовать существующий ключевой набор – выберите ключевой набор, который будет использован при создании сертификата, из списка существующих (кнопка Выбрать).

  • Установите переключатель напротив необходимого Назначения ключа сертификата.
  • Вы также можете выбрать дополнительное назначение ключа, нажав на кнопку Дополнительно. В списке назначений использования ключа выберите необходимое: дополнительно.png
    В разделе Срок действия сертификата автоматически проставляется дата, с которой сертификат действителен (текущее системное время) и дата, по которую сертификат действителен (1 год вперед от текущего времени). Эти даты вы можете отредактировать.
  • Укажите необходимую Длину ключа. Чем длиннее ключ, тем он надежнее.
  • Пометить ключи как экспортируемые. Если вы отметите этот флаг, то сможете проводить экспорт сертификата вместе с закрытыми ключами.
  • На основе указанных данных будет сформирован самоподписанный сертификат открытого ключа. После завершения операции возникнет окно с информацией о ее результатах. Нажмите Готово.
  • На запрос системы установите пароль на носитель и подтвердите его.
  • На запрос системы установить ли самоподписанный сертификат в хранилище Доверенных корневых центром сертификации, нажмите на кнопку Да.
    • Хранение сертификатов
    • Просмотр информации о сертификате
    • Удаление сертификата

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

    В этом разделе описывается порядок добавления самоподписанных сертификатов, созданных при установке Kaspersky CyberTrace, в доверенное хранилище. Таким образом устраняются предупреждения о безопасности, выдаваемые браузерами.

    Информация в этом разделе применима к ситуации, когда пользователь работает с веб-интерфейсом CyberTrace Web с того же сервера, на котором запущен веб-интерфейс CyberTrace. Если элемент GUISettings > HTTPServer > ConnectionString в конфигурационном файле Feed Service ссылается на внешний интерфейс, веб-интерфейс CyberTrace не будет считаться доверенным, поскольку самоподписанный сертификат может использоваться только с адресами https://127.0.0.1 и https://localhost .

    Чтобы избежать потенциальных угроз безопасности, рекомендуется использовать доверенный сертификат, подписанный центром сертификации (ЦС).

    Придание самоподписанному сертификату доверенного статуса в браузере (веб-интерфейс CyberTrace открывается в Internet Explorer, установленном в системе Windows)

    Придание сертификату доверенного статуса в браузере требует последовательного выполнения следующих трех процедуры:

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

    1. Откройте адрес https://127.0.0.1 или https://localhost в Internet Explorer. Браузер сообщает о проблеме с сертификатом безопасности веб-сайта. Возникла проблема с сертификатом безопасности этого веб-сайта.Сообщение об ошибке сертификата
    2. Выберите ссылку Continue to this website (not recommended) . В адресной строке появляется сообщение Ошибка сертификата .
    3. Нажмите на сообщение Certificate Error . Откроется окно Untrusted Certificate . Окно «Untrusted Certificate». Ссылка «About certificate errors». Ссылка «View certificates».Окно Untrusted Certificate
    4. Выберите ссылку View certificates . Откроется окно Certificate с информацией о сертификате CyberTrace. Вкладка Окно Certificate
    5. Выберите вкладку Details и нажмите Copy to File , чтобы создать локальную копию сертификата. Запустится мастер экспорта сертификата. Окно приветствия.Мастер экспорта сертификатов
    6. Следуйте инструкциям мастера. При экспорте сертификата используйте настройки мастера по умолчанию.

    Чтобы запустить процесс импорта сертификата через Microsoft Management Console (MMC), выполните следующие действия:

    1. Из поля Search перейдите в поле Run и введите mmc . Теперь можно запустить MMC от имени администратора. Окно Запуск MMC
    2. В открывшейся консоли MMC выберите File > Add/Remove Snap-in . Консоль на базе MMC. Меню Выбор Add/Remove Snap-in Откроется окно Add or Remove Snap-ins .
    3. В списке Available snap-ins выберите Certificates , затем нажмите на кнопку Add . Окно Добавление оснастки сертификатов Откроется окно Certificates snap-in .
    4. Выберите Computer account и нажмите кнопку Next . Окно Выберите Computer account В открывшемся окне Select Computer нажмите на кнопку Finish . Окно Выбор Local computer
    5. В дереве выберите Certificates (Local Computer) > Trusted Root Certification Authorities , нажмите правой кнопкой мыши на элемент Certificates , затем выберите пункт контекстного меню All Tasks > Import . Консоль на основе MMC Список сертификатов. Контекстное меню сертификата.Выбор Import Запустится мастер импорта сертификата.

    Чтобы добавить сохраненный сертификат в хранилище доверенных корневых центров сертификации, выполните следующие действия:

    1. На странице приветствия мастера нажмите на кнопку Next . Окно приветствия.Мастер импорта сертификатов
    2. Нажмите кнопку Browse и выберите сертификат, который был сохранен в описанной выше процедуре «Придание самоподписанному сертификату доверенного статуса в Internet Explorer». Мастер импорта сертификатов. Указан файл CER.Импорт ранее сохраненного сертификата
    3. На следующей странице мастера «Certificate Import Wizard» нажмите на кнопку Next . Мастер импорта сертификатов. Выбрано Выбор хранилища сертификатов
    4. На последней странице мастера импорта сертификатов нажмите на кнопку Finish . Мастер импорта сертификатов. Финальное окно.Завершение импорта сертификата
    5. Закройте консоль на основе MMC и перезапустите браузер. Проблема безопасности (недоверенный сертификат) устранена, как показано на рисунке ниже. Окно Website identification

    Придание самоподписанному сертификату доверенного статуса в браузере (веб-интерфейс CyberTrace открывается в Google Chrome, установленном в системе Windows)

    Чтобы сделать самоподписанный сертификат для веб-интерфейса CyberTrace доверенным при использовании Google Chrome, выполните следующие действия:

    1. Откройте адрес https://127.0.0.1 или https://localhost в Google Chrome. В адресной строке отображается предупреждение о том, что соединение с сайтом небезопасно.
    2. Нажмите на сообщение Not secure . Откроется окно со сведениями о безопасности веб-сайта. Сведения о безопасности
    3. Нажмите Certificate , чтобы просмотреть информацию о сертификате. (При наведении указателя мыши на Certificate отображается всплывающая подсказка Show certificate ).
    4. В открывшемся окне Certificate выберите вкладку Details и нажмите Copy to File , чтобы создать локальную копию сертификата. Запустится мастер экспорта сертификата. Окно приветствия.Мастер экспорта сертификатов
    5. Следуйте инструкциям мастера. При экспорте сертификата используйте настройки мастера по умолчанию.
    6. После сохранения сертификата на локальном диске откройте его и добавьте в хранилище доверенных корневых центров сертификации, как описано в процедуре для Internet Explorer.
    7. Перезагрузите браузер.

    Придание самоподписанному сертификату доверенного статуса в браузере (веб-интерфейс CyberTrace открывается в Mozilla Firefox)

    Добавление веб-интерфейса CyberTrace в список доверенных веб-адресов Mozilla Firefox выполняется, чтобы в браузере не отображались предупреждения о сертификате.

    Придание самоподписанному сертификату доверенного статуса в браузере (веб-интерфейс CyberTrace открывается в браузере для Linux)

    Процедуры импорта сертификата как доверенного с помощью браузера (в системах Linux) различаются в зависимости от используемого браузера и дистрибутива Linux. Однако в этих процедурах есть общие шаги: открытие формы настроек браузера и использование этой формы для импорта сертификата в хранилище.

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

    1. Создайте каталог /usr/local/share/ca-certificates/ , если он не существует на сервере: mkdir /usr/local/share/ca-certificates/
    2. Скопируйте корневой сертификат (файл .crt) в созданный каталог: cp /usr/local/share/ca-certificates/
    3. Обновите сертификаты: sudo update-ca-certificates Если у пакет ca-certificates не установлен, установите его с помощью используемого в системе менеджера пакетов.

    Удаление сертификата из списка доверенных

    После перенастройки или удаления CyberTrace старые сертификаты больше не используются CyberTrace. Их можно удалить из списка доверенных сертификатов.

    Чтобы удалить сертификат из списка доверенных сертификатов (в Windows), выполните следующие действия:

    Список сертификатов. Выбрано

    1. Откройте консоль управления сертификатами и выполните следующую команду: certmgr.msc
    2. В дереве выберите Trusted Root Certification Authorities > Certificates . Консоль управления сертификатами
    3. В области результатов щелкните добавленный сертификат правой кнопкой мыши и выберите команду Delete .

    В системе Linux процедура удаления выполняется аналогично добавлению сертификата: откройте список доверенных сертификатов и удалите ненужные.

    Как создавать надежные SSL-сертификаты для локальной разработки

    Случалось ли так, что вы понимали — необходимо добавить HTTPS в приложение, запущенное на локальном хостинге или каком-нибудь еще местном домене вроде local.my-app.com ?

    Есть некоторые различия в том, как браузеры работают с HTTP и HTTPS. Например, любые попытки загрузить JavaScript на HTTPS-странице по HTTP-ссылке будут заблокированы. Это значит, что если локальная разработка идет на HTTP, то добавленный тэг скрипта прекрасно будет работать на вашей машине, но сломается, как только вы развернете приложение на промежуточном или продакшен-окружении, где всё работает под HTTPS. Не очень вдохновляющая перспектива.

    Но не волнуйтесь. Во избежание подобных проблем полезно установить HTTPS в локальной среде разработки, чтобы более точно отображать ситуацию на рабочем сервере. Тем не менее, заставить эту штуку работать не так-то легко. Никто не хочет постоянно видеть предупреждения о сертификатах. Но как тогда обеспечить безопасность локально?

    Ответ прост: создать собственный сертификат, либо подписывающий сам себя, либо заверенный локальным корневым сервером, и внести его в хранилище доверенных сертификатов операционной системы. Далее этим сертификатом можно пользоваться на локальном веб-сервере.

    В этой статье мы разберем процесс создания локального корневого сертификата (также известного, как источник сертификатов). Это позволит вам создавать сколько угодно сертификатов для доменных имен, но доверять только одному сертификату — корневому.

    Важно отметить вот что: с 1 сентября 2020 года SSL-сертификаты не выдаются дольше, чем на тринадцать месяцев (397 дней). Поэтому для сертификатов, создаваемых в этой статье, мы ограничимся двенадцатью месяцами.

    Создание сертификата

    Источник сертификата (Certificate Authority)

    1. Создайте закрытый ключ и самоподписанный сертификат

    openssl req -x509 -nodes -new -sha512 \ 
    -days 365 -newkey rsa:4096 -keyout ca.key \
    -out ca.pem -subj "/C=US/CN=MY-CA"

    Опционально: если необходимо, можно заменить MY-CA в CN на что-нибудь другое.

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

    openssl x509 -in ca.pem -text -noout

    2. Создайте файл сертификата с расширением .crt :

    openssl x509 -outform pem -in ca.pem -out ca.crt

    Сертификат доменного имени

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

    1. Создайте файл расширения x509 v3:

    cat > v3.ext authorityKeyIdentifier=keyid,issuer
    basicConstraints=CA:FALSE
    keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
    subjectAltName = @alt_names
    [alt_names]
    # Локальные хостинги
    DNS.1 = localhost
    DNS.2 = 127.0.0.1
    DNS.3 = ::1
    # Перечислите доменные имена
    DNS.4 = local.dev
    DNS.5 = my-app.dev
    DNS.6 = local.some-app.dev
    EOF

    Следуя этому шаблону, можно добавить сколько угодно доменных имен.

    Примечание: пожалуйста, обновите DNS.4, DNS.5 и DNS.6 или удалите их, если у вас не настроены никакие локальные доменные имена.

    2. Создайте закрытый ключ и запрос на подпись сертификата:

    openssl req -new -nodes -newkey rsa:4096 \ 
    -keyout localhost.key -out localhost.csr \
    -subj "/C=US/ST=State/L=City/O=Some-Organization-Name/CN=localhost"

    Опционально: страну, штат, город и организацию можно изменять.

    3. Создайте самоподписанный сертификат:

    openssl x509 -req -sha512 -days 365 \
    -extfile v3.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in localhost.csr \
    -out localhost.crt

    Использование сертификата

    Приложениям, обслуживающим ваш контент, понадобится доступ к файлам сертификата и закрытого ключа. Это может быть локальный веб-сервер (Apache или NGINX), локальный сервис или какой-то другой локальный инструмент, допустим, сборщик модулей DevServer.

    Вот несколько примеров:

    Apache

      
    .
    ServerName local.dev
    SSLEngine on
    SSLCertificateFile /path/to/localhost.crt
    SSLCertificateKeyFile /path/to/localhost.key
    .

    NGINX

    server listen 443; 
    ssl on;
    ssl_certificate /path/to/localhost.crt;
    ssl_certificate_key /path/to/localhost.key;
    .
    >

    webpack DevServer

    webpack-dev-server --open --https \ 
    --cert /path/to/localhost.crt \
    --key /path/to/localhost.key

    Express.js

    const https = require("https");
    const fs = require("fs");
    const express = require("express");

    // прочитайте ключи
    const key = fs.readFileSync("localhost.key");
    const cert = fs.readFileSync("localhost.crt");

    // создайте экспресс-приложение
    const app = express();

    // создайте HTTPS-сервер
    const server = https.createServer(< key, cert >, app);

    // добавьте тестовый роут
    app.get("/", (req, res) => res.send("this is an secure server");
    >);

    // запустите сервер на порту 8000
    server.listen(8000, () => console.log("listening on 8000");
    >);

    Как только вы настроите обслуживающий ваше приложение инструмент на работу с вашим сертификатом, ваше приложение будет доступно по URL’у с HTTPS.

    Следуя приведенному выше примеру с Express, вы можете открыть вкладку браузера по адресу https://localhost:8000 и увидеть ваш контент:

    Погодите секунду! Где же сообщение «это защищенный сервер»?

    Вы рассчитывали увидеть кое-что другое, но именно этого и следовало ожидать — потому что источник сертификата еще не входит в число доверенных.

    Доверие к сертификатам

    Чтобы получить обозначение безопасного доступа, ваш новый источник сертификата должен считаться доверенным на вашей машине. Процесс присваивания этого статуса различается в зависимости от операционной системы и удовлетворит большинство браузеров. Если вы используете Firefox, процесс имеет некоторые отличия.

    macOS — Chrome и Safari

    1. Дважды кликните на корневом сертификате ( ca.crt ).

    2. Выберите нужную связку ключей [keychain] ( login , если вы хотите, чтобы сертификат считался доверенным только в вашем аккаунте, или System , если сертификат должен считаться доверенным во всей системе).

    3. Добавьте сертификат.

    4. Откройте «Keychain Access» (если еще не открыт).

    5. Выделите keychain, который выбрали раньше.

    6. Вы должны увидеть сертификат MY-CA (это будет имя, которое вы, как CN, дали вашему источнику сертификата).

    7. Дважды кликните по сертификату.

    8. Разверните «Доверять» и выберите опцию «Доверять всегда» в пункте «При использовании этого сертификата».

    9. Закройте окно сертификата и введите свой пользовательский пароль (если требуется).

    Windows 10 — Chrome, IE11 и Edge

    1. Дважды кликните на сертификате ( ca.crt ).

    2. Кликните на кнопку «Установить сертификат».

    3. Выберите, хотите ли вы хранить его на уровне пользователя или на уровне машины.

    4. Кликните «Дальше».

    5. Выберите «Разместить все сертификаты в следующем хранилище».

    6. Кликните «Обзор».

    7. Выберите «Доверенные корневые источники сертификатов».

    9. Кликните «Дальше».

    10. Кликните «Завершить».

    11. Если появится подсказка, кликните «Да».

    Firefox

    Даже после того, как вы установите доверенный источник сертификата в хранилище, Firefox все равно будет выдавать предупреждения. Этого может не случиться в Windows 10, но почти наверняка случится в macOS. Справиться с этим достаточно просто. Firefox демонстрирует вот такой экран:

    Чтобы добавить разрешения сертификату, кликните «Дополнительно…». Сразу же после этого кликните на «Принять риск и продолжить», чтобы дать понять, что вы знаете о риске.

    Это нужно сделать всего один раз, но для каждого локального домена.

    Заключение

    Теперь, когда сертификат создан и доверие к нему обеспечено, вы без проблем можете посещать свой локальный домен! Обслуживание приложений стало безопасным, и вы можете спокойно продолжать разработку. Возвращаясь к примеру с Express, результат на экране будет таким:

    Сайт полностью загружен, и рядом с URL в Chrome теперь отображается символ безопасного соединения.

    Надеюсь, эта статья помогла вам превозмочь трудности с HTTPS.

    • Как исправить ошибки сертификатов в Node-приложениях при работе с SSL
    • Как установить несколько версий Python в WSL2 и управлять ими
    • Работа с HTML и CSS: 10 полезных приемов для дизайнеров

    Установка доверенного SSL-сертификата на сервер

    ИКС создает самоподписанные сертификаты, поэтому браузер будет сообщать о недоверенном соединении. Это нормальное поведение браузера.

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

    1. Если вы приобрели доверенный SSL -сертификат, его необходимо преобразовать в один файл формата *.pem (бандл). Он должен содержать цепочку полученных сертификатов: SSL_Certificate → Intermediate Certificate → Root Certificate . Для этого откройте текстовый редактор и вставьте все тело каждого сертификата в один текстовый файл в следующем порядке:
      • SSL Main Certificate (Основной сертификат) — your_domain_name.crt
      • Intermediate Certificate (Промежуточный сертификат) — DigiCertCA.crt
      • Root Certificate (Корневой сертификат) — TrustedRoot.crt

    Результат должен выглядеть так:

    -----BEGIN CERTIFICATE----- #Your SSL Certificate (your_domain_name.crt)# -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- #Intermediate Certificate (DigiCertCA.crt)# -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- #Root Certificate (TrustedRoot.crt)# -----END CERTIFICATE-----

    Сделать это также можно командой:

    cat your_domain_name.crt DigiCertCA.crt TrustedRoot.crt > yourDomain_bundle

    Внимание! При необходимости использовать доверенные сертификаты, подписанные центром сертификации, следует добавлять сертификаты в следующем порядке: сначала все промежуточные сертификаты (Intermediate Certificate), а затем корневой сертификат (Root Certificate). Для добавления каждого сертификата нажмите кнопку «Добавить», выберите файл сертификата (промежуточного или корневого). При необходимости можно удалить поле для выбора сертификата, нажав на соответствующую кнопку.

    Приватный ключ

    Поддерживается только незашифрованный приватный ключ.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *