Problema com auto-assinado Cert no WCF - Deve ter Chave Privada
-
19-08-2019 - |
Pergunta
Estou criando um serviço WCF hospedado no IIS7 no Windows Vista SP1. Estou recebendo o seguinte erro:
O certificado 'CN = SignedByLocalHost' deve ter uma chave privada que é capaz de troca de chaves. O processo deve ter direitos de acesso para a chave privada.
Parece que eu precisaria para dar o processo de host avaliar até o certificado que foi feito no passado com WinHttpCertCfg que foi preterido para o Vista. O artigo que encontrei indica a usar o console certificado, mas eu estou faltando somethign porque eu não vejo nenhuma capacidade de editar o meu cert.
Qualquer ajuda seria ótimo!
Graças
Solução
Você pode usar o IIS 7.0 / 7.5 Apenas Iniciar> Executar -> inetmgr Selecione o servidor Sob o painel "Segurança", vá em "Certificados de Servidor" No painel da esquerda clique - "Criar Certificado Auto-assinado" e concluir o processo O crtfiticate será instalado em LocalMachine StoreLocation sob Pessoal storename. Agora usar esse certificado em seu serviço WCF e você não vai enfrentar este erro
Outras dicas
Descobri-lo.
Supondo que você tenha um certificado auto-assinado em c: \ OutCert o seguinte comando irá funcionar. Eu havia parado a troca -Sky.
makecert sk SignedByCA a iv c: \ OutCert.pvk -n "CN = MyLocalHost" ic c: \ OutCert.cer -SR LocalMachine -ss Meu troca -Sky pe
Agora você pode ir para a ferramenta MMC e gerenciar as chaves privadas e conceder IIS acesso à chave. Para gerenciar chaves privadas, clique com o botão direito no certificado e selecione All Tasks / Manage Private Keys
.