WINDOWS ИЮНЬ / 2017 Windows Server 2012
Я последовал за ответом @Brad Parks. В Windows вы должны импортировать rootCA.pem в хранилище доверенных корневых сертификатов.
Я сделал следующие шаги:
openssl genrsa -out rootCA.key 4096
openssl req -x509 -new -nodes -key rootCA.key -newkey rsa:4096 -sha256 -days 1024 -out rootCA.pem
openssl req -new -newkey rsa:4096 -sha256 -nodes -keyout device.key -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 2000 -sha256 -extfile v3.ext
Где v3.ext:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
IP.1 = 192.168.0.2
IP.2 = 127.0.0.1
Затем, в моем случае, у меня есть веб-приложение, размещенное самостоятельно, поэтому мне нужно связать сертификат с IP-адресом и портом, сертификат должен находиться в МОЕМ хранилище с информацией о секретном ключе, поэтому я экспортировал его в формат pfx.
openssl pkcs12 -export -out device.pfx -inkey device.key -in device.crt
С консолью mmc (Файл / Добавить или удалить оснастки / Сертификаты / Добавить / Учетная запись Computert / LocalComputer / OK) Я импортировал файл pfx в Личное хранилище.
Позже я использовал эту команду для привязки сертификата (вы также можете использовать инструмент HttpConfig):
netsh http add sslcert ipport=0.0.0.0:12345 certhash=b02de34cfe609bf14efd5c2b9be72a6cb6d6fe54 appid={BAD76723-BF4D-497F-A8FE-F0E28D3052F4}
certhash = сертификат Thumprint
appid = GUID (на ваш выбор)
Сначала я попытался импортировать сертификат «device.crt» в Trusted Root Certificates Authorities по-разному, но я все еще получаю ту же ошибку:
Но я понял, что должен импортировать сертификат корневого центра, а не сертификат для домена. Поэтому я использовал консоль mmc (Файл / Добавить или удалить оснастки / Сертификаты / Добавить / Учетная запись Computert / LocalComputer / OK). Я импортировал файл rootCA.pem в хранилище доверенных корневых сертификатов.
Перезапустите Chrome и т. Д. Это работает.
С локальным хостом:
Или с IP-адресом:
Единственное, чего я не смог добиться - это то, что у него устаревший шифр (красный квадрат на картинке). Помощь в этом вопросе приветствуется.
С makecert невозможно добавить информацию SAN.
С New-SelfSignedCertificate (Powershell) вы можете добавить информацию SAN, это также работает.