A partir do Chrome 58, ele não aceita mais certificados autoassinados que dependem de Common Name
: https://productforums.google.com/forum/#!topic/chrome/zVo3M8CgKzQ;context-place=topicsearchin/chrome/category $3ACanary%7Csort: relevância%7Cfeitiço:falso
Em vez disso, requer o uso de Subject Alt Name
. Anteriormente, segui este guia sobre como gerar um certificado autoassinado: https://devcenter.heroku.com/articles/ssl-certificate-self que funcionou muito bem porque exigi os arquivos server.crt
e server.key
para o que estou fazendo. Agora preciso gerar novos certificados que incluam o SAN
no entanto, todas as minhas tentativas de fazer isso não funcionaram com o Chrome 58.
Aqui está o que eu fiz:
Segui as etapas do artigo Heroku mencionado acima para gerar a chave. Em seguida, escrevi um novo arquivo de configuração do OpenSSL:
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = san
extensions = san
[ req_distinguished_name ]
countryName = US
stateOrProvinceName = Massachusetts
localityName = Boston
organizationName = MyCompany
[ san ]
subjectAltName = DNS:dev.mycompany.com
Em seguida, gerou o server.crt
com o seguinte comando:
openssl req \
-new \
-key server.key \
-out server.csr \
-config config.cnf \
-sha256 \
-days 3650
Estou em um Mac, então abri o server.crt
arquivo com o Keychain e o adicionei aos meus Certificados do Sistema. Eu então configurei para Always Trust
.
Com exceção do arquivo de configuração para definir o valor SAN, essas foram etapas semelhantes que usei em versões anteriores do Chrome para gerar e confiar no certificado autoassinado.
No entanto, depois disso, ainda recebo ERR_CERT_COMMON_NAME_INVALID
no Chrome 58.