Eu criei um certificado SSL autoassinado para o CN local. O Firefox aceita este certificado depois de inicialmente se queixar dele, como esperado. Chrome e IE, no entanto, recusam-se a aceitá-lo, mesmo depois de adicionarem o certificado à loja de certificados do sistema em Trusted Roots. Mesmo que o certificado esteja listado como corretamente instalado quando eu clico "Ver informação do certificado" no popup Chrome's HTTPS, ele ainda insiste que o certificado não pode ser confiável.
O que devo fazer para que o Chrome aceite o certificado e deixe de se queixar disso?
No Mac, você pode usar o utilitário Keychain Access para adicionar o certificado autoassinado ao chaveiro do sistema, e o Chrome irá aceitá-lo. Encontrei aqui as instruções passo a passo:
Google Chrome, Mac OS X e Certificados SSL Auto-assinados
Basicamente:
Se você está usando Linux, você também pode seguir estas páginas wiki oficiais:
Basicamente:
Agora, o seguinte comando adicionará o certificado (onde YOUR_FILE é o seu arquivo exportado):
certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n YOUR_FILE -i YOUR_FILE
Para listar todos os seus certificados, execute o seguinte comando:
certutil -d sql:$HOME/.pki/nssdb -L
Se mesmo assim não funcionar, você pode ser afetado por este bug: Edição 55050: Ubuntu SSL error 8179
P.S. Por favor, certifique-se também que tem <código>libnss3-ferramentas</código>, antes de poder usar os comandos acima.
Se não tiver, por favor, instale-o até:
sudo apt-get install libnss3-tools # on Ubuntu
sudo yum install nss-tools # on Fedora, Red Hat, etc.
Como bônus, você pode usar os seguintes scripts úteis:
$ cat add_cert.sh
certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n $1 -i $1
$ cat list_cert.sh
certutil -d sql:$HOME/.pki/nssdb -L # add '-h all' to see all built-in certs
$ cat download_cert.sh
echo QUIT | openssl s_client -connect $1:443 | sed -ne '/BEGIN CERT/,/END CERT/p'
Uso:
add_cert.sh [FILE]
list_cert.sh
download_cert.sh [DOMAIN]
Executar Cromo com <código>--auto-ssl-client-auth</código> parâmetro
<código>google-chrome --auto-ssl-client-auth</código>
Tem a certeza de que o endereço do site é o mesmo que o do certificado? Eu tive os mesmos problemas com o Chrome e um cert autoassinado, mas no final eu achei incrivelmente exigente a validação do nome do domínio no cert (como deveria ser).
O cromado não tem a sua própria loja de cert e usa a loja da Window. No entanto, o Chrome não fornece nenhuma forma de importar certs para a loja, por isso deve adicioná-los através do IE.
Instalar Certificados no Google Chrome
Instalar Certificados no Internet Explorer Instalar Certificados no Internet Explorer
Dê também uma olhada nisto para algumas abordagens diferentes na criação de certificados autoassinados (presumo que você esteja usando o IIS como você não mencionou).
Como criar um certificado autoassinado no IIS 7 [Como criar um certificado autoassinado no IIS 7][4].