¿Cómo puedo exportar un certificado de MMC como un archivo PFX?

19

Estoy en el proceso de tratar de cambiar la propiedad KeySpec de un certificado de firma de código de Comodo siguiendo esta guía . La guía menciona importar su archivo de certificado a MMC y luego exportarlo nuevamente más tarde. Sin embargo, no parece tener la opción de exportar como un archivo PFX. Ya tengo un archivo PFX; Puedo importarlo con éxito, pero cuando voy a exportar la opción está atenuada / deshabilitada.

pfx deshabilitado

¿Qué debo hacer para habilitar esta opción de exportación?

Soapergem
fuente

Respuestas:

29

Al complemento Certificados realmente no le gusta exportar certificados PFX, pero PowerShell está feliz de hacerlo. Puedes usar el Export-PfxCertificatecmdlet.

  1. Vaya a la pseudo-unidad de certificados escribiendo cd cert:\en el indicador de PowerShell.
  2. Escriba cd CurrentUsero cd LocalMachinesegún corresponda para el lugar del certificado Es posible que deba iniciar PowerShell como administrador para exportar un certificado de máquina.
  3. cden la tienda apropiada (a dirpuede ayudar). La tienda personal en MMC se llama Myaquí.
  4. Use dirpara identificar qué ID corresponde al certificado que desea.
  5. Escriba este comando para exportarlo como un PFX con una contraseña:

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

    LONGSTRINGOFHEXdebe reemplazarse con la identificación de su certificado. Afortunadamente, puede usar la finalización de pestaña en eso.

Una vez que se ejecuta ese comando, tiene un certificado PFX protegido con la contraseña que proporcionó. PowerShell se niega a exportar la clave privada del certificado sin una contraseña, y la contraseña no puede estar en blanco. Sin embargo, su PFX está fuera.

Ben N
fuente
Perdone una pregunta tan ignorante, pero ¿cómo instalo el cmdlet? Actualmente, cuando escribo cert:PS, aparece "El término 'cert:' no se reconoce como el nombre de un cmdlet, función, archivo de script o programa operable". Windows 10 por supuesto.
soapergem
@SoaperGEM Mis disculpas, debería ser cd cert:\en su lugar.
Ben N
1
@SoaperGEM Este cmdlet está disponible en Windows 8, 8.1, 10, Server 2012 y Server 2012 R2. A juzgar por tu captura de pantalla, estás listo. Además, al importar su certificado, busque una casilla de verificación que le permita marcar la clave privada como exportable. Eso debería darle la posibilidad de exportarlo a través de MMC.
2
Recibo un error: no se puede exportar la clave privada no exportable. ¿Alguien puede ayudar a identificar el problema?
Raja Dorji
1
@RajaDorji Si una clave privada se marcó como no exportable, el sistema generalmente se niega a exportar. Herramientas como Mimikatz ( mencionadas aquí ) pueden solucionar esto a través de métodos no oficiales.
Ben N
0

Si importa un certificado en la tienda WebHosting, no puede exportar la clave privada. Muévalo a la tienda Personal y podrá exportar como PFX. Pude hacer esto en Windows 2012R2 sin tener que ir a la línea de comando y usar Export-PfxCertificate (lo cual es una molestia ya que no pude averiguar la identificación del certificado para salvar mi vida).

MC9000
fuente
De acuerdo, estoy equivocado. Solo tuve suerte. Tuve que intentar esta tarea nuevamente (reeditado un certificado), y este método ya no funciona :(
MC9000
Puede encontrar la identificación del certificado yendo a IIS> Máquina> Certificados de servidor o cd cert:\LocalMachine\Myluego 'dir'
Devin Gleason Lambert
-1

Exporte el archivo .P7B una vez. Y luego regrese e intente exportar el certificado nuevamente. La exportación .PFX se habilitará la próxima vez.

Atul
fuente
¡Eso ciertamente no funciona!
MC9000