В моих попытках понять, как работают сертификаты TLS в Windows, я не нашел простого и подробного руководства, но выполнил некоторые необходимые шаги.
Во-первых, мне удалось загрузить команду OpenSSL как OpenSSL Light Stable с slproweb.com/products/Win32OpenSSL.html. Краткое описание подкоманд находится по адресу https://www.openssl.org/docs/man1.1.0/apps/ . Я добавил папку bin OpenSSL в "Система"> "Свойства"> "Дополнительно"> "Переменные среды"> "Системные переменные"> "Путь", чтобы команда "OpenSSL" работала в окне командной строки администратора.
Затем я узнал, как создать центр сертификации (ЦС) для локального использования, по адресу восхитительный адрес :brabrains.com/ssl-certificate-authority-for-local-https-development/. Это привело к хранению созданного.Файл CRT в хранилище компьютера "Доверенные корневые центры сертификации", который используется локальными браузерами при доступе к веб-страницам HTTPS. Этот новый сертификат CA можно увидеть в Консоли управления компьютером> Сертификаты (который может быть добавлен как новая оснастка MMC) или в разделе Просмотр сертификатов где-нибудь в Options в любом браузере или с помощью очень полезной команды certutil Windows.
Конкретные команды, используемые в командной строке администратора (% windir%\system32\cmd.exe) для создания локального ЦС, были следующими:
- Выберите секретную фразу-пароль и предоставьте ее всякий раз, когда вас попросят.
- Создать закрытый ключ: openssl genrsa -des3 -out CA_NAME.key 2048
- Создайте сертификат PEM из личного ключа: openssl req -x509 -new -nodes -key CA_NAME.key -sha256 -days 1825 -out CA_NAME.pem
- Создайте корневой сертификат CA: openssl x509 -outform -in CA_NAME.pem -out CA_NAME.crt
- Установите корневой сертификат CA на локальном компьютере: щелкните правой кнопкой мыши CA_NAME.crt, выберите «Установить мастер импорта сертификатов сертификатов»> «Локальный компьютер»> «Обзор»> «Доверенные корневые центры сертификации».
Примечание: мне не ясно, какие из этих парольных фраз и сгенерированных файлов когда-нибудь понадобятся снова и для каких целей. Понятно, что сохраненный сертификат CA будет использоваться в качестве корневого для любых более конкретных сертификатов на текущем компьютере.
Далее я задаю вопрос, как создать сертификат авторизации сервера для одного или нескольких веб-сайтов в домене localhost (примеры: localhost/MY_WEBSITE, localhost/FOLDER/FILE.html) на основе недавно установленного доверенного сертификата CA. Это позволит без ошибок использовать URL-адреса браузера, такие как https://localhost/MY_WEBSITE , при условии, что локальный сервер прослушивает такие безопасные веб-запросы.
Я нашел несколько алгоритмов, но все они кажутся либо устаревшими, либо неполными. Ясно, что частью этого алгоритма должно быть создание файла "SAN", который содержит список веб-сайтов, которые будут авторизованы, и что другой частью должен быть запрос на подпись сертификата (CSR).
Может ли кто-нибудь предоставить такой алгоритм, список шагов, подобный приведенному выше, для создания и установки сертификата сайта localhost на основе существующего сертификата локальной CA, созданного, как указано выше? Пожалуйста, не забудьте проверить, что вы предлагаете, прежде чем ответить.