Não é possível importar o PFX com CERTUTIL - “O conjunto de chaves não existe”

2

Temos um arquivo PFX que, quando usado em qualquer outro sistema Windows (Server 2008 R2, 7, 8), é instalado bem. Em dois dos meus servidores, a importação falha assim:

CertUtil: -importPFX command FAILED: 0x80090016 (-2146893802) CertUtil: Keyset does not exist

Originalmente, importamos esse PFX para usar o snap-in do MMC, que parece funcionar, pois nenhum erro foi relatado e o certificado mostra que ele tem uma chave privada quando aberto, mas, com nosso aplicativo .NET, recebemos um erro sobre não tendo a chave privada. Assumimos as permissões da Chave privada e adicionamos as permissões corretas para o nosso Pool de aplicativos. Isso não fez diferença. Nós importamos e excluímos várias vezes tentando corrigir isso.

Percebemos agora que o tamanho dos arquivos adicionados, quando uma importação através do MMC é executada, para a pasta C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys era de apenas 79kb nos servidores que não estão funcionando quando eles geralmente estão mostrando como sendo 2kb nos sistemas em que eles trabalham.

Eu fiz as verificações MD5 nos arquivos para verificar se eles são os mesmos (eles eram) e eu também os copiei do sistema que não estava funcionando (o arquivo copiado original não é uma exportação) e que ainda funciona em outro lugar.

Por que isso falharia?

    
por neildeadman 27.02.2015 / 23:02

1 resposta

0

Todas as pesquisas do Google que realizamos sempre retornaram a mesma resposta básica, algo relacionado às permissões das Chaves particulares ... mas isso foi baseado nas mensagens de erro que estávamos vendo.

Eventualmente rastreamos o problema depois de usar WinHttpCertCfg.exe junto com Process Monitor para registrar o acesso às pastas e ao registro.

Quando um de nossos desenvolvedores adicionava alguns certificados de teste, ele também alterava as permissões de segurança na pasta C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys para que o IIS pudesse acessar a Chave particular dos certificados que ele importou, em vez de conceder permissões por meio dos Certificados. no MMC.

Ele só adicionou uma nova permissão e não alterou as existentes, mas isso de alguma forma quebrou a importação de certificados. Quando as permissões adicionais foram removidas, começou a funcionar novamente.

Muita dúvida de que outros terão esse mesmo problema, mas acham que vale a pena responder, em vez de excluir ou encerrar a pergunta, já que um dia ajudaria outra pessoa a sair.

    
por 03.03.2015 / 10:28