Quando um servidor remoto requer um certificado de cliente para autenticação, o navegador exibe uma caixa de diálogo para selecionar o certificado de:
ele mostra apenas um subconjunto de certificados, quero saber em quais critérios ele os busca, por exemplo, espero que esses certificados tenham chave privada associada para comprovar a propriedade do cliente. Mas o gerenciador de certificados do Chrome tem muito mais certificados do que o mostrado no pop-up, alguns dos quais têm chaves privadas associadas. também o navegador tem seu próprio armazenamento isolado, pois notei que alguns certificados precisam ser importados para o armazenamento do navegador, apesar de os certificados no armazenamento do navegador serem os mesmos do Windows.
Um certificado de cliente HTTPS sempre precisa ter uma chave privada correspondente, caso contrário, não poderá ser usado para autenticação de cliente HTTPS.
No Windows (a captura de tela parece ter sido tirada no Windows), o Chrome usa o gerenciador de certificados do Windows. Os certificados para autenticação HTTPS são armazenados no armazenamento de certificados pessoais (seção "Pessoal" em
certmgr.msc
).Além disso, o servidor HTTPS ao qual você está tentando se conectar pode enviar em sua
Certificate Request
mensagem uma lista de CAs que ele aceitará para autenticação de certificado de cliente:Citação de rfc5246
Embora a maioria dos sites HTTPS se autentique no servidor usando um certificado enviado pelo site, o HTTPS também oferece suporte a uma autenticação bidirecional chamada autenticação mútua .
Para solicitar autenticação mútua, os servidores enviam uma
CertificateRequest
mensagem ao cliente durante o handshake HTTPS, especificando um filtro de critérios que o navegador usará para encontrar um certificado de cliente que satisfaça a solicitação do servidor.Se o navegador encontrar mais de um certificado possível (certificados não expirados com a
Client Authentication
finalidade definida e uma chave privada disponível) que correspondam aos critérios de filtragem fornecidos pelo servidor, ele solicitará que o usuário selecione um. Isso geralmente é uma ocorrência bastante rara (pelo menos para mim).O certificado selecionado será enviado ao servidor pela seguinte
Certificate
resposta do navegador.