Como resolver erros: "Subject Alternative Name Missing"; “NET::ERR_CERT_COMMON_NAME_INVALID”; ou "A sua ligação não é privada " no Google Chrome
RELACIONADO COM:
-
Navegador web:
- Google Chrome Version 58 ou superior
-
Produtos Epson:
- TM-T88VI-i / TM-T88VI-iHub
- TM-m30
- TM-P80 / TM-P60II / TM-P20
- UB-E04 / UB-R04
EXPLICAÇÃO:
O problema:
Para o Chrome 58 e posteriores, apenas a extensão subjectAlternativeName (não o commonName), é usado para combiner com o nome de domínio e o certificado do site. Se o certificado não possua a extensão correcta subjectAlternativeName, o utilizador irá receber um erro, avisando-o que a ligação não é privada.
Background:
O RFC 2818 descreve dois métodos para equiparar um nome de domínio a um certificado:
- Utilizando os nomes disponíveis dentro da extensão subjectAlternativeName extension; ou,
- Usar o commonName.
O uso do commonName foi descontinuado no RFC 2818 (publicado no ano 2000), mas o suporte permanece disponível para a maioría dos nossos clientes. Por motivos de segurança, este suporte já não se encontra disponível.
Soluções:
Existem duas opções para utilizadores do Google Chrome poderem resolver o problema:
-
Disabilitar a verificação do subjectAlternativeName no Chrome.
Trata-se de uma forma de contornar o problema que não irá server para lça da versão 65 do Google Chrome, e serve apenas como uma solução temporária.
-
Substitua o certificado por outro que utilize a extensão subjectAlternativeName.
Se a implementação se faça de forma correcta, obter-se-á uma solução permanente que deverá funcionar em todos os browsers que venham a mplementar a verificação subjectAlternativeName.
Como desabilitar a verificação do subjectAlternativeName no Chrome:
Ao adicionar os seguintes ajustes ao seu ambiente, o Chrome poderá ser forçado a permitir certificados que omitam uma extensão subjectAlternativeName:
-
Windows registry (REG_DWORD):
Software\Policies\Google\Chrome\EnableCommonNameFallbackForLocalAnchors
-
Mac/Linux preference name (Boolean):
EnableCommonNameFallbackForLocalAnchors
-
Android restriction name (Boolean):
EnableCommonNameFallbackForLocalAnchors
Uma vez aplicada esta configuração, o Google Chrome começará a usar o commonName de um servidor de forma a equiparar o hostname sempre que o certificado não possua a extensão subjectAlternativeName, e sempre que o mesmo possa validar e ancorar com sucesso a um certificado CA local.
![]() |
---|
Uma chave de registry poderá ser adicionada ao Windows através do indicado abaixo numa linha de comandos: reg add HKLM\Software\Policies\Google\Chrome /v EnableCommonNameFallbackForLocalAnchors /t REG_DWORD /d 1 Não será efectivo após a versão 65 do Google Chrome. |
Examplo de criação e “upload” de um certificado utilizando uma extesão subjectAlternativeName
Para este exemplo, será criado um ficheiro de configuração que contém a informação necessária:
Este ficheiro contém detalhes específicos relacionados com a segurança de objectos que pretendemos gerar, incluídos os host names, assinalados a vermelho. De notar que isto poderá ser um endereço IP, ou DNS.
Uma vez gerado o ficheiro, poderemos executar o commando req para gerar os objectos de segurança. Por exemplo:
Para que possa fazer o upload para a impressora, será necessário “empacotar” os seguintes objectos de segurança (chave e certificado) num arquivo PKCS#12. Por exemplo:
O OpenSSL irá solicitar uma password.
O resultado é um arquivo PKCS#12 preparado para ser subido para o servidor (printer), e um certificaod pronto para ser instalado no cliente.