Migre una clave x509 usando KSP (CNG) a CSP (CryptoAPI) en Windows

1

Tengo un certificado de firma de código emitido por una CA comercial y la clave se generó en mi máquina de desarrollo local utilizando los nuevos proveedores de almacenamiento Cryptography Next Generation.

Lamentablemente, la herramienta de firma de código de manifiesto ClickOnce de Visual Studio solo admite las claves CSP / CrytoAPI anteriores para firmar estos manifiestos (el error que recibo es: "Se produjo un error al firmar: se especificó un tipo de proveedor no válido.").

Tengo el certificado actualmente como un archivo .PFX en mi computadora. Cuando uso certutil para ver los detalles del certificado, muestra estos detalles:

Provider = Microsoft Software Key Storage Provider
ProviderType = 0

¿Cómo puedo cambiar mi clave privada / certificado de usar CNG a usar el estilo antiguo CrytoAPI? No quiero comprar otro certificado si es posible.

    
pregunta Jack Scott 18.03.2015 - 12:21
fuente

1 respuesta

2

Se puede hacer usando openssl . El procedimiento es el siguiente:

  • convertir la fuente PFX a PEM
  • convertir el PEM de nuevo a PFX

Ejemplo:

openssl pkcs12 -in mycert-cng.pfx -out mycert.pem
openssl pkcs12 -export -in mycert.pem -out mycert-cryptoapi.pfx

En mi máquina (Windows 8.1, openssl 0.9.8zf), el pfx resultante hacía referencia al CSP de "Microsoft Enhanced Cryptographic Provider v1.0". openssl pkcs12 también proporciona una opción para solicitar un CSP específico ( -csp "CSP name" ).

Los binarios de Windows de openssl se pueden descargar, por ejemplo. desde aquí .

    
respondido por el Jakub Berezanski 09.09.2015 - 13:46
fuente

Lea otras preguntas en las etiquetas