Certificado de cliente causa erro HTTP 500.0.64 no IIS

1

Eu instalei um certificado de cliente no meu servidor cliente. Ao fazer uma solicitação HTTPS do cliente para o servidor de destino com o certificado de cliente, os logs do IIS informam que ocorreu um erro 500.0.64 (esse é o log do IIS do servidor de destino). O aplicativo cliente que faz a chamada a partir do servidor cliente é um site .Net hospedado no IIS.

No servidor de destino, o IIS é configurado para "Requerer SSL" e os certificados de cliente são definidos como "Requerer". Se eu não incluir o certificado na solicitação, recebo um erro 403 Proibido, que está correto. Se eu alterar a configuração do certificado de cliente para 'Aceitar', ainda receberei um erro 500.0.64 se o certificado for passado, mas se não for o aplicativo hospedado no servidor de destino estará acessível.

Como teste, criei um aplicativo de console simples que coloquei no servidor do cliente. Isso usa o certificado do cliente e funciona perfeitamente, com o certificado sendo validado com êxito na máquina de destino. Isso usa código idêntico para gerar a solicitação http, como o site hospedado no IIS. Portanto, concluí que o problema não pode estar com o aplicativo cliente e não pode estar com a máquina de destino - correta ou incorretamente.

Então, por que a inclusão do certificado de cliente na solicitação do aplicativo hospedado do IIS causa esse erro, embora seja adequado para o aplicativo de console? Alguém pode oferecer algum conselho sobre como diagnosticar ainda mais o problema?

Eu segui o conselho desta resposta como o cenário é virtualmente idêntico. No entanto, a chave do registro em questão não existe nas máquinas cliente e de destino, portanto, não acredito que essa seja a causa.

    
por usefulcat 10.03.2016 / 00:00

1 resposta

1

Acontece que o usuário do aspnet no cliente não tinha acesso ao certificado. Uma vez que eu dei acesso de leitura, funcionou bem.

Você pode fazer isso indo ao certificado no console do MMC.exe, clicando com o botão direito no certificado e gerenciando a chave privada.

Eu descobri esta solução depois de ler esta resposta: link

    
por 10.03.2016 / 15:29