Como parte de garantir uma comunicação segura em nossa empresa, estamos tentando exportar o certificado SMIME emitido pela Digicert para nossos clientes, mas encontramos alguns problemas com relação a chaves privadas não incluídas ou exportáveis durante o processo de exportação por meio do console certmgr.
Abaixo está uma breve descrição do erro e as várias tentativas de solução de problemas.
Durante a exportação, notei que a opção para selecionar Troca de informações pessoais - PKCS #12 (.PFX) estava esmaecida no assistente de exportação de certificados, conforme visto na captura de tela abaixo Assistente de exportação de certificados
Tentei solucionar o problema inspecionando primeiro se há uma chave privada correspondente presente para o certificado importado, mas, conforme visto na captura de tela abaixo, não havia nenhuma disponível. Certificado em Certmgr
Fui além para tentar um trabalho de reparo no armazenamento de certificados executando o comando certutil -repairstore my "serial" para corrigir o pedido caso o certificado estivesse corrompido, mas recebi o erro abaixo do erro certutil repairstore
Conforme recomendado neste artigo da Digicert https://knowledge.digicert.com/solution/SO1335.html , tentei verificar as permissões abrindo cada arquivo no caminho do contêiner de chave C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys com o bloco de notas nas pastas que corresponde aos respectivos contêineres de chave. O acesso foi negado, como você pode ver na mensagem na captura de tela abaixo da permissão Machinekeys
Eu verifiquei as permissões na pasta C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys e obtive os seguintes resultados abaixo icacls na pasta Machinekeys Interessante o suficiente, as permissões na pasta estão em conformidade com a permissão padrão necessária recomendada pela Microsoft conforme documentado aqui https://learn.microsoft.com/en-us/troubleshoot/windows-server/windows-security/default-permissions-machinekeys-folders
Neste ponto, estou um pouco inseguro sobre quais ações tomar. Seria possível que o certificado tenha sido importado sem uma chave de acompanhamento? Acredito que não, pois exportar o mesmo certificado depois de copiá-lo para outro cliente produziu os resultados esperados. É concebível que o certificado tenha sido corrompido ou que o acesso continue a ser negado às subpastas dentro dos contêineres de chave? Curiosamente, esse cenário parece ser bastante esporádico, pois funciona corretamente em determinados clientes em locais distintos. Pode ser plausível que o grupo funcional sejam usuários ou clientes específicos pertencentes a um determinado grupo que possua as permissões necessárias localmente no cliente, na rede ou no domínio? Eu apreciaria qualquer dica ou sugestão.