Instalar certificado de cliente para a conta IIS App Piscina
-
06-07-2019 - |
Pergunta
Cenário:
- Um cliente chama WebService A na LAN. WebService A está sendo executado em um pool de aplicativo com Identidade "Serviço de rede".
- WebService A faz algum trabalho, se prepara para chamar WebService B.
- WebService B requer um certificado de cliente (* .cer) e SSL.
- WebService A é em um servidor dedicado Windows 2003.
- Tudo funciona no ambiente Dev como deveria (mas o desenvolvedor com privilégios de administrador está sempre conectado localmente (nenhuma surpresa!).
- Os certificados são armazenados no disco em
C:\MyCertificates\
- O certificado é requerido em tempo de execução com sucesso em Dev com este trecho:
myWebService.ClientCertificates.Add(new X509Certificate.CreateFromCertFile(certPath));
Problema: WebService A é chamar WebService B, ea exceção retornado é:
A solicitação falhou com status HTTP 403: proibido
isso realmente significa que o certificado não foi enviado o pedido para WebService B.
Eu estou sob a suposição de que a instalação deste cert no navegador não é uma solução. As configurações do navegador normalmente são por usuário, e eu preciso dar o certificado para o usuário cujas credenciais o serviço web está sendo executado. (Por exemplo, Serviço de Rede, Sistema, ou o que está nas configurações IIS AppPool).
Pergunta:? Como posso conceder acesso ou associação ao meu certificado de estar no local do diretório especificado para o serviço de rede ou outra conta não-usuário
Solução
Esta Microsoft Base de Conhecimento artigo pode ser de uso:
O seu serviço web 'A' seria efetivamente a aplicação ASP.NET chamar o serviço web, conforme descrito no artigo.