Xampp SSL Setup - Импортированы сертификаты, «соединение не защищено» - PullRequest
0 голосов
/ 24 марта 2020

Я пытался заставить мой локальный веб-сайт на базе Xampp правильно использовать SSL для нашей локальной системы int anet.

Windows Edition: Windows Server 2016 Standard
Версия XAMPP 7.4.1
PHP Версия 7.4.1

Порт HTTP: 8080
Порт SSL: 4443

Я следовал Apache Tutorial, в котором используется версия Openssl Xampp для создайте необходимые сертификаты для SSL.

https://community.apachefriends.org/viewtopic.php?f=16&t=77006&sid=e0291bc38dd9b562cd74e5f72153c1f7#

Эти шаги позволяют запустить и запустить незашифрованную версию:

  • Хосты Файл: Добавить "127.0.0.1 www.site.local"
  • httpd.conf: Добавить "Listen: 8080"
  • httpd.conf: Добавить "ServerName www.site.local: 8080"

Теперь я создаю ssl root ca и запрос сертификата:

  • Создать закрытый ключ "openssl genrsa -out myrootca.key 4096"
  • Создать Root Сертификат "openssl req -new -x509 -days 1826 -key myrootca.key -out myrootca.crt
  • Создать сертификат домена" openssl genrsa -out www.site.local.key 2048 "
  • Создать знак Запрос на запрос "openssl req -new -sha256 -key www.site.local.key -out www.site.local.csr -sha256"
  • Создать сертификат, подписанный моим Root CA "openssl x509 -req -days 360 -in www.site.local.csr -CA myrootca.crt -CAkey myrootca.key -CAcreateserial -out www.site.local.crt -sha256 "
  • Я поместил эти сертификаты и ключи в соответствующие им пути:
    • C: / xampp /apache/conf/ssl.crt/www.site.local.crt
    • C: / xampp / apache / conf / ssl.key / www.site.local.key

(Установочный файл "httpd-ssl" для включения этих сертификатов)

Listen 4443
<VirtualHost default:4443>

#   General setup for the virtual host
    ServerAdmin admin@example.com
    DocumentRoot "C:/xampp/htdocs/site_intranet/"
    ServerName www.site.local:4443
    ServerAlias www.site.local
    ErrorLog "C:/xampp/apache/logs/error.log"
    TransferLog "C:/xampp/apache/logs/access.log"

SSLEngine on
SSLCertificateFile "C:/xampp/apache/conf/ssl.crt/www.site.local.crt"
SSLCertificateKeyFile "C:/xampp/apache/conf/ssl.key/www.site.local.key"

(импорт ROOT CA в браузер и Windows) - импорт в Windows в качестве доверенного CA: Check - Firefox Браузер: установите флажок

Проблема: все попытки доступа к www.site.local (через любой порт) приводят к предупреждению «не защищено» от Firefox.

Я пытался проверить Apache ошибки для некоторых указаний. Он работает нормально.

Единственная ошибка Firefox, которую я получаю: «Этот веб-сайт не предоставляет информацию о владельце».

Я знаю, что вы больше не можете просто вставить сертификат basi c , но я надеялся, что сначала создание Root CA, а затем разработка сертификата на основе этого обеспечит цепочку доверия, необходимую для включения SSL. Я что-то упускаю здесь?

Меня попросили что-то безопасное локально, без каких-либо сторонних источников сертификатов. Нужно заставить что-то работать локально.

1 Ответ

1 голос
/ 24 марта 2020

Я думаю, что это блог, за которым вы можете следить, чтобы решить вашу проблему с помощью ACME Root CA:

https://medium.com/@tbusser / creation-a-browser-trust-self-signature-ssl- Certificate-2709ce43fd15

Вот резюме из блога:

Повтор команд

Для создания root сертификата необходимы следующие команды:

openssl genrsa -des3 -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024  -out rootCA.pem

Следующие команды необходимы для создания сертификата SSL, выданного самостоятельно созданным root сертификатом:

openssl req -new -nodes -out server.csr -newkey rsa:2048 -keyout server.key
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext

Ссылочный файл v3.ext должен выглядеть примерно так:

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = acme-site.dev
DNS.2 = acme-static.dev

Спасибо за это js Busser.

...