Não é possível usar certificados de cliente no Chrome ou IE no Windows 10

2

Eu tenho uma instalação nginx e uma CA autoassinada, na qual desejo que meus usuários se autentiquem com certificados de cliente assinados por essa autoridade de certificação.

As coisas funcionam perfeitamente no Linux com o Firefox e o Chrome. No Windows 10, o Firefox funciona bem. Então eu sei que não é uma configuração incorreta do servidor, o relógio do sistema ou os próprios certificados.

Eu importo os certificados executando certmgr.msc. Eu armazeno o certificado do cliente no armazenamento "Pessoal" e o certificado da CA em "Autoridades de Certificação Raiz Confiáveis". Em seguida, reinicio o Chrome via chrome://restart e reiniciei o Windows sem sucesso.

Depois que recebo o aviso (esperado) sobre a autenticidade do certificado do servidor não ser verificada, no linux e no Firefox no Windows eu tenho a opção de "Continuar assim mesmo". No Windows Chrome e IE não tenho essa opção. O Chrome apresenta a seguinte tela:

EstouusandooChromev56(64bits)

Existealgumamaneiradecontornaresteproblemaqueeunãoconheço?PorqueoChromeretirouaopçãodecontinuarmesmoassimnoWindows,masaopçãoaindaexisteemoutrossistemasoperacionais?

EDITAR

NoMacOS,oChromesecomportacomonoLinux.Depoisdeimportaroscertificadosnochaveirodousuário,receboomesmoavisoeaopção"Continuar mesmo assim".

Eu não sei se isso é um problema do Chrome ou se é alguma restrição de segurança que o Windows impõe, mas acho extremamente impraticável e irritante.

    
por kliron 21.02.2017 / 12:48

1 resposta

1

Se alguém tiver o mesmo problema, aqui está a solução e ela deve funcionar no Windows 7, 8 e 10.

  1. Crie um arquivo de console de gerenciamento do Windows. Start -> Run -> mmc.exe

  2. Na janela do console: File -> Add/Remove Snap-in...

  3. Escolha o Certificates snap-in e escolha gerenciar certificados para My user account na próxima janela.

  4. Na caixa de diálogo Add or Remove Snap-ins , escolha Editor de objeto de diretiva de grupo e adicione-o à raiz do console. Deixe Group Policy Object definido como LocalComputer na próxima caixa de diálogo e clique em Concluir.

  5. Clique em OK para sair da caixa de diálogo Add or Remove Snap-ins .

Neste ponto, você deve estar olhando para uma janela do console como esta:

Agora,importeseuscertificados.

  1. Expandaosnap-inCertificatesecliqueemPersonal.Emseguida,cliquecomobotãodireitodomousenopaineldomeioeescolhaAllTasks->Import....OAssistenteparaImportaçãodeCertificadosseráexibido.Bastaimportarocertificadodousuáriosemalterarasconfiguraçõespadrão.

  2. ExpandaoTrustedRootCertificationAuthoritiesecliqueemCertificates.Novamente,cliquenopaineldomeioeescolhaAllTasks->Import....ImporteocertificadodasuaCAsemalterarnenhumadasconfiguraçõespadrão.

Agora,paraaparteinteressante...

VolteparaoConsoleRoot,naveguesobLocalComputerPolicysnap-inparaComputerConfiguration->WindowsSettings->SecuritySettings->%código%.Vocêdeveriaverumajanelacomoesta:

CliqueduasvezesemPublicKeyPolicies.VerifiqueCertificatePathValidationSettingseselecioneasconfiguraçõescomonaimagemabaixo.

Em seguida, clique em Define these policy settings e certifique-se de que sua intenção As finalidades estão incluídas (Autenticação de Cliente e Autenticação de Servidor foram as que eu precisei). Clique em Select Certificate Purposes e feche a janela do console. Você será perguntado se deseja salvar suas configurações. Você pode optar por fazer isso se quiser salvar sua configuração para que outras pessoas possam reutilizá-la.

Certifique-se de reiniciar o Chrome ou o IE para que as alterações entrem em vigor.

    
por 24.02.2017 / 13:53