WINDOWS JUN / 2017 Windows Server 2012
Eu segui a resposta de @Brad Parks. No Windows, você deve importar o rootCA.pem no repositório de autoridades de certificados raiz confiáveis.
Eu fiz os seguintes passos:
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
Onde 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
Então, no meu caso, eu tenho um aplicativo Web auto-hospedado, por isso preciso vincular o certificado ao endereço IP e à porta, o certificado deve estar em MINHA loja com informações de chave privada, então eu exportei para o formato pfx.
openssl pkcs12 -export -out device.pfx -inkey device.key -in device.crt
Com o console mmc (Arquivo / Adicionar ou Remover Snap-ins / Certificados / Adicionar / Conta Computert / LocalComputer / OK), importei o arquivo pfx no Personal store.
Mais tarde, usei este comando para ligar o certificado (você também pode usar a ferramenta HttpConfig):
netsh http add sslcert ipport=0.0.0.0:12345 certhash=b02de34cfe609bf14efd5c2b9be72a6cb6d6fe54 appid={BAD76723-BF4D-497F-A8FE-F0E28D3052F4}
certhash = Certificado Thumprint
appid = GUID (sua escolha)
Primeiro, tentei importar o certificado "device.crt" nas autoridades de certificados raiz confiáveis de maneiras diferentes, mas ainda estou recebendo o mesmo erro:
Mas percebi que deveria importar certificado de autoridade root e não certificado para domínio. Portanto, usei o console mmc (Arquivo / Adicionar ou remover snap-ins / Certificados / Adicionar / conta de computador / LocalComputer / OK). Importei o rootCA.pem no armazenamento de autoridades de certificados raiz confiáveis.
Reinicie o Chrome e pronto, ele funciona.
Com localhost:
Ou com endereço IP:
A única coisa que não consegui é que ela tenha uma cifra obsoleta (quadrado vermelho na foto). A ajuda é apreciada neste ponto.
Com o makecert, não é possível adicionar informações da SAN. Com o New-SelfSignedCertificate (Powershell), você pode adicionar informações da SAN, mas também funciona.