code-signing pfx

code signing - No se puede importar el siguiente error de archivo de clave al importar pfx



code-signing (8)

Investigué esta pregunta a fondo sobre stackoverflow y he visto numerosas respuestas, pero ninguna de ellas ha funcionado todavía para nosotros. Recientemente compramos un certificado de firma de código de comodo que vamos a utilizar para firmar nuestra aplicación c # WPF .net4.
Hemos seguido las instrucciones en la siguiente URL.

y luego importó el certificado en Visual Studio en ''propiedades del proyecto-> cantar-> firmar el ensamblaje''. Luego intentamos construir el proyecto y obtenemos el siguiente error:

No se puede importar el siguiente archivo de clave: comodo.pfx. El archivo clave puede estar protegido por contraseña. Para corregir esto, intente importar el certificado nuevamente. Instale manualmente el certificado en el CSP de nombre fuerte con el siguiente nombre de contenedor de claves: VS_KEY_xxxxxxxxxxxxxxxxx.

Hemos encontrado numerosas soluciones en Internet y hemos probado lo siguiente:

  • Haga clic en Cambiar contraseña y use la misma contraseña en los 3 lugares
  • sn -i [comodo] .pfx VS_KEY_xxxxxxxxxxxxx
  • intentado convertirlo en un archivo snk sin contraseña y usarlo en lugar de .pfx
  • Intenté ejecutar Visual Studio como administrador e importar clave.
  • Intenté crear un proyecto de barebones muy simple y firmar con eso.
  • Probé el estudio visual 2010 y el 2012.
  • Intentamos agregar lo siguiente al ensamblado [assembly: AssemblyKeyFile ("ruta al archivo clave")]
  • Evento agregado en postbuild "C: / Archivos de programa (x86) / Microsoft SDKs / Windows / v7.0A / Bin / signtool.exe" sign / f "$ (ProjectDir) [keyfile] .pfx" / p [thepassword] / v "$ (ProjectDir) obj / Release / $ (TargetFileName)"
  • Añadido en una sección en el archivo .csproj:

  • Descargue http://visualstudiogallery.msdn.microsoft.com/a83505c6-77b3-44a6-b53b-73d77cba84c8 y http://visualstudiogallery.msdn.microsoft.com/a83505c6-77b3-44a6-b53b-73d77cba84c8 clic en "Aplicar solución" en el error

No hemos tenido éxito hasta ahora. Podemos importar la clave sin problemas utilizando la contraseña, por lo que sabemos que la contraseña es correcta. También sabemos que esto funciona bien para firmar el manifiesto en una publicación de un clic. Solo para asegurarnos de que no tuviéramos ningún otro problema, desactivamos la firma cilckonce y estamos tratando de firmar la asamblea.


  1. Vaya a Propiedades del proyecto -> Firma
  2. Por favor seleccione el archivo * .pfx correspondiente de la lista desplegable.
  3. Introduzca la contraseña anterior utilizada para la firma de código. (contraseña: pregunte a la persona que firmó el ensamblaje y creó los certificados autofirmados y el código firmado)
  4. (Opcional) Agrega automáticamente su certificado como de confianza. Se puede ver usando la ventana de la consola de administración (ejecute el comando MMC y agregue el certificado add-snaps para ver el certificado)


He aprendido que Visual Studio no parece manejar muy bien los certificados subordinados.
Probé varios certificados en varias máquinas (diferentes combinaciones de OS / VS) con los mismos resultados.
Finalmente encontré esto como una solución:

El problema con Visual Studio parece ser que no le gusta el encadenamiento de certificados. Esto se puede resolver importando / exportando el certificado sin el encadenamiento. El siguiente problema se resuelve utilizando el certificado y la exportación con AT_SIGNATURE . Pude importarlo en VS y compilar, sin embargo, no parece firmar el ensamblaje.


La mejor solución que se me ocurre es ir a Proyecto -> Propiedades -> Elegir un menú desplegable de clave de nombre seguro y seleccionar "Nuevo" -> Crear la clave y luego ir a la sección Certificado en la parte superior -> hacer clic en Seleccionar del archivo y elija la nueva clave que creó -> Generar solución -> Publicar.


Otro ''trabajó para mí'' ...

Haga clic derecho en el PFX en el Explorador de Windows, seleccione ''Instalar PFX'' y en el asistente proporcionó la contraseña. Luego, en las propiedades del proyecto en VS, en "Firma", seleccione "Cambiar contraseña" y vuelva a ingresar la contraseña. Antes de esto, solo funcionaría VS como administrador.


Para mí, después de trabajar, primero instale el certificado haciendo doble clic en él. entonces,

Propiedades del proyecto -> Firma -> Si se marca ''Firmar los manifiestos de ClickOnce'' -> haga clic en ''Seleccionar del archivo'' y seleccione el archivo .pfx y debería mostrar todos los detalles válidos del certificado, como Emitido a, Emitido por, Propósito, etc.


Simplemente puede abrir " Proyecto > Propiedad > Firma " y desmarque la casilla de verificación "Firmar los manifiestos de ClickOnce".


Tengo error similar Se solucionó eligiendo Instalar PFX desde un menú contextual en el Explorador de Windows.


Tuve el mismo problema. Estoy creando la aplicación desde una memoria USB en varios equipos y creo que esta es la causa.

Encontré el éxito con el método "sn -i [comodo] .pfx VS_KEY_xxxxxxxxxxxxx". Hice los siguientes pasos:

  1. Ejecute "Símbolo del sistema del desarrollador" como administrador (que se encuentra en Inicio-> Todos los programas-> Visual Studio-> Herramientas)
  2. Vaya a su directorio de claves (para mí, esta fue la raíz de mi directorio de proyecto, no el directorio de soluciones)
  3. Ejecute "sn -i mykey.pfx VS_KEY_xxxxxxxxxxxxx" (mykey.pfx y VS_KEY_xxxxxxxxxxxxx se encuentran en el mensaje de error de compilación)
  4. Introduzca la contraseña si es necesario

Cuando intenté esto sin ejecutar el "Indicador de comando del desarrollador" como administrador, obtengo el texto de visualización de ayuda al ejecutar "sn -i mykey.pfx VS_KEY_xxxxxxxxxxxxx" y no funciona. El truco fue asegurarse de que ejecuté el indicador de desarrollo como administrador.

Para el contexto, estoy usando VS Community 2013.5, Windows 7 x64 Professional y NET Framework 4.7