SChannel “não pode encontrar o certificado na loja LocalMachine ou CurrentUser”

2

Nós temos um aplicativo interno que requer o uso de certificados SSL do cliente para autenticar com um servidor remoto (não sob nosso controle).

Isso funcionou sem problemas antes, mas na implantação em um novo servidor, estamos tendo problemas para fazer com que o Windows 2008 use o certificado.

O certificado existe como um arquivo .pfx que contém uma chave privada. O mesmo certificado existe no armazenamento LocalMachine, novamente com sua chave particular. Garantimos que a loja LocalMachine está correta, criando um site no IIS com esse certificado, portanto, estamos felizes que o certificado, a cadeia de certificados e a chave privada sejam válidos.

O PFX foi criado pela exportação do snap-in Certificados do MMC.

O problema é que obtemos o seguinte nos logs de diagnóstico do sistema que sugerem que não é possível encontrar a chave privada:

System.Net Information: 0 : [5988] SecureChannel#23264094 – Locating the private key for the certificate: [Subject]
CN=internal-server.company.com, OU=Servers, OU=Devices, O=org

[Issuer]
CN=SubCA02, OU=CA, o=org

[Serial Number]
407ABCDE

[Not Before]
31/10/2013 11:08:48 AM

[Not After]
31/10/2016 11:08:48 AM

[Thumbprint]
4354A34F6004F019E60F055979A47E50F62D1504
.
System.Net Information: 0 : [5988] SecureChannel#23264094 – Cannot find the certificate in either the LocalMachine store or the CurrentUser store.

Eu validei a impressão digital, o emissor e o número de série listados no log com o certificado na loja LocalMachine e eles se casam.

Pelo que posso dizer com muita pesquisa, isso parece ser um problema de permissão. O usuário que o aplicativo está executando, como foi concedido acesso à chave privada (Certificados Pessoais - > clique com o botão direito no certificado - > todas as tarefas - > Gerenciar Chaves Privadas), então estou perdendo a respeito de qual permissão (s) pode estar causando o problema.

ATUALIZAÇÕES

  • Adicionamos o usuário do aplicativo ao grupo 'Administradores', reiniciei o servidor e tentei novamente. A questão permanece.

  • Nós ativamos a depuração do SChannel (conforme link ). O log de eventos do sistema relata o seguinte aviso:

    The remote server has requested SSL client authentication but no suitable client certificate could be found. An anonymous connection will be attempted. This SSL connection request may succeed or fail depending on the servers policy settings.

  • Nenhuma exceção de acesso negado ao .NET é gerada; em essência, o SChannel está voltando a não fornecer um certificado de cliente. Isso foi verificado com um rastreio Wireshark que mostra uma contagem de certificados de zero antes que o controle remoto finalize uma redefinição de TCP.

por Chris J 07.11.2013 / 16:23

0 respostas