Como posso exportar um certificado do MMC como um arquivo PFX?

19

Estou tentando alterar a propriedade KeySpec de um certificado de assinatura de código da Comodo, seguindo este guia . O guia menciona a importação do arquivo de certificado para o MMC e a exportação novamente mais tarde. No entanto, parece que não tenho a opção de exportar como um arquivo PFX. Eu já tenho um arquivo PFX; Posso importá-lo com sucesso, mas quando vou exportar, a opção fica acinzentada / desativada.

pfx desativado

O que preciso fazer para ativar esta opção de exportação?

soapergem
fonte

Respostas:

29

O snap-in Certificados realmente não gosta de exportar certificados PFX, mas o PowerShell está satisfeito. Você pode usar o Export-PfxCertificatecmdlet

  1. Vá para a pseudo-unidade de certificados digitando cd cert:\no prompt do PowerShell.
  2. Digite cd CurrentUserou cd LocalMachineconforme apropriado para onde está o certificado. Pode ser necessário iniciar o PowerShell como administrador para exportar um certificado de máquina.
  3. cdna loja apropriada (a dirpode ajudar). A loja pessoal no MMC é chamada Myaqui.
  4. Use dirpara identificar qual ID corresponde ao certificado que você deseja.
  5. Digite este comando para exportá-lo como um PFX com uma senha:

    Export-PfxCertificate -Cert .\LONGSTRINGOFHEX -FilePath 'C:\path\to\outfile.pfx' -Password (ConvertTo-SecureString -String 'password' -AsPlainText -Force)
    

    LONGSTRINGOFHEXdeve ser substituído pelo ID do seu certificado. Felizmente, você pode usar a conclusão de guias nisso.

Depois que esse comando é executado, você tem um certificado PFX protegido com a senha que você forneceu. O PowerShell se recusa a exportar a chave privada do certificado sem uma senha, e a senha não pode ficar em branco. No entanto, seu PFX está fora.

Ben N
fonte
Por favor, perdoe uma pergunta tão ignorante, mas como instalo o cmdlet? Atualmente, quando digito cert:PS, recebo "O termo 'cert:' não é reconhecido como o nome de um cmdlet, função, arquivo de script ou programa operável". Windows 10, é claro.
soapergem
@SoaperGEM Minhas desculpas, deveria ser cd cert:\.
Ben N
1
@SoaperGEM Esse cmdlet está disponível no Windows 8, 8.1, 10, Server 2012 e Server 2012 R2. A julgar pela sua captura de tela, você está pronto. Além disso, ao importar seu certificado, procure uma caixa de seleção que permita marcar a chave privada como exportável. Isso deve permitir exportar via MMC.
2
Estou recebendo erro - Não é possível exportar chave privada não exportável. Alguém pode ajudar a identificar o problema.
Raja Dorji
1
@RajaDorji Se uma chave privada foi marcada como não exportável, o sistema geralmente se recusa a exportar. Ferramentas como Mimikatz ( mencionadas aqui ) podem contornar isso através de métodos não oficiais.
Ben N
0

Se você importar um certificado para a loja WebHosting, não poderá exportar a chave privada. Mova-o para a loja pessoal e você poderá exportar como PFX. Consegui fazer isso no Windows 2012R2 sem ter que ir para a linha de comando e usar Export-PfxCertificate (o que é uma dor, pois não consegui descobrir o ID do certificado para salvar minha vida).

MC9000
fonte
Ok, eu estou errado. Só tive sorte. Eu tinha que tentar esta tarefa novamente (reeditado um cert), e este método não funciona mais :(
MC9000
Você pode encontrar o ID do certificado acessando IIS> Máquina> Certificados de servidor ou cd cert:\LocalMachine\Myentão 'dir'
Devin Gleason Lambert
-1

Exporte o arquivo .P7B uma vez. E, em seguida, volte e tente exportar o certificado novamente. A exportação .PFX é ativada na próxima vez.

Atul
fonte
Isso certamente não funciona!
MC9000