Pergunta

Eu tenho um problema com o carregamento de um certificado X509 particular dentro de uma aplicação ASP.NET (ou seja, não através do IIS para https). Eu carregá-la no meu ‘Pessoal’ e ‘Trusted Root’ lojas na minha máquina local (através do snap in), mas não pode carregá-lo a partir de qualquer loja.

Parece que a conta NETWORK SERVICE não tem permissões para ler / carregá-lo porque quando eu alterar a identidade pools de aplicativos a um usuário com direitos administrativos posso encontrar, carregar e usar o cert.

É apenas uma cert público, tão diferente de um certificado com uma chave privada, eu não posso ver qualquer lugar para definir permissões sobre ele.

É estranho porque eu não tive esse problema com certificados públicos nesta aplicação anteriormente. A única diferença que eu posso ver a este cert público e certs públicas anteriores (que carregado multa) é que esta cert público particular, tem ser assinado pela Verisign e, portanto, tem uma cadeia de certificação com um par de outros certificados VeriSign.

Agradecemos antecipadamente,
Charles

FYI, Meu dev ambiente é apenas a minha máquina Vista Business com IIS7.

Foi útil?

Solução

Tem sido um tempo, mas eu me lembro de ter problemas de certificado de permissão relacionadas tinham que eu resolvido importando o certificado em um física loja (clique na caixa de seleção "Mostrar lojas físicas" ao instalar seu certificado).

Como alternativa, você poderia dar uma olhada com FileMon ou < a href = "http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx" rel = "nofollow noreferrer"> ProcMon e verificar se há acesso Denieds para rede de serviços. Este MSDN página lista os locais das lojas em disco .

Ainda permanece uma resposta vaga, mas espero que este eventualmente conduz a uma solução ...

Outras dicas

Couple pensamentos diferentes. Estou um pouco confuso com como você está usando o termo "cert com uma chave privada" e que você entende por "usar o cert" depois de ter tentado aceder-lo com direitos de administrador. Eu estou supondo que você está tentando fazer uma das seguintes opções:

  • obter uma cópia do certificado e fazer algo como confirmá-lo, ou usá-lo para criptografar algo.

  • obter uma cópia do certificado e a chave privada, e usá-lo para fazer algo como sinal de alguma coisa.

Então ... se é # 1 , a minha primeira aposta é que as definições para o certificado ter desarrumada algo nos protocolos ASP.NET. Verisign teria configurado o perfil usado para gerar e assinar o certificado de uma maneira específica. Isso daria as definições do certificado que você não pode mudar isso pode interferir com fazer o upload do certificado. Gostaria de verificar o certificado que lhe dá problemas contra os certificados que não têm quaisquer problemas e ver como as extensões dos certificados variam. Você pode fazer isso através do painel de visualização certificado do IE no cliente. Confira em quaisquer configurações diferentes que você encontrar on-line - há relatos geralmente publicados sobre questões de integração da Microsoft.

Infelizmente, se você encontrar um problema, você tem que voltar para Versign e obter um novo certificado assinado com as extensões corretas. Se você tiver uma conta corporativa, pedir para falar com o seu suporte de camada superior, que deve ser suficiente clueful para ajudar a encontrar um modelo de certificado que irá trabalhar para suas ferramentas.

Se é # 2 - você pode ter feito a chave privada para o certificado não exportável. Eu estou supondo que você está usando um certificado de software e você carregou um PKCS12 ou outro arquivo de armazenamento de certificado para o browser. Naquele momento, teria perguntado se queria ser capaz de exportar a chave privada. Se você não disse (deixou a caixa desmarcada), então a chave privada não vai deixar o browser.

Se você tiver o arquivo de armazenamento de chave certificado original / privado em torno, a resposta é indolor - excluir o certificado de seu armazenamento de certificados pessoais, e reupload-lo. Certifique-se de verificar a caixa exportável.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top