visual usar tutorial subir studio proyecto linea instalar espaƱol configurar con como code ajuste visual-studio-2010 visual-studio passwords pfx

visual-studio-2010 - usar - visual studio code



No se puede importar el archivo de claves ''blah.pfx''-error ''El archivo de claves puede estar protegido por contraseƱa'' (22)

Como autor original del trabajo alrededor del informe de error de conexión, hay DOS variantes de este mensaje (lo he descubierto más adelante)

Para una variante, use sn.exe (normalmente si está haciendo una asignación de nombres segura) para importar la clave al almacén de asignación de nombres segura.

La otra variante para la que usa certmgr para importar es cuando está firmando un código para cosas como la implementación de un solo clic (tenga en cuenta que puede usar el mismo certificado para ambos propósitos).

Espero que esto ayude.

Acabamos de actualizar nuestros proyectos de Visual Studio 2008 a Visual Studio 2010. Todos nuestros ensamblajes se firmaron con firmeza utilizando un certificado de firma de código de Verisign . Desde la actualización recibimos continuamente el siguiente error:

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

Esto sucede en algunas máquinas desarrolladoras y no en otras. Algunos métodos utilizados para solucionar este problema que funcionaron algunas veces incluyen:

  • Reinstalar el archivo clave desde el Explorador de Windows (haga clic con el botón derecho en el archivo PFX y haga clic en Instalar)
  • La instalación de Visual Studio 2010 en una máquina nueva por primera vez le solicita la contraseña la primera vez que abre el proyecto, y luego funciona. En las máquinas actualizadas desde Visual Studio 2008, no obtiene esta opción.

He intentado usar la utilidad SN.EXE (Herramienta de nombre fuerte) para registrar la clave con el CSP de nombre fuerte como sugiere el mensaje de error, pero cada vez que ejecuto la herramienta con alguna opción con la versión que viene con Visual Studio 2010, SN .EXE simplemente lista sus argumentos de línea de comando en lugar de hacer nada. Esto sucede independientemente de los argumentos que ofrezco.

¿Por qué sucede esto y cuáles son los pasos claros para solucionarlo? Estoy a punto de renunciar a las instalaciones de ClickOnce y la firma del código de Microsoft.


Como solución temporal, intenté ejecutar Visual Studio 2010 como administrador y funcionó para mí.

Espero que esto ayude.


Descubrí que, en algunos casos, debería intentar eliminar esta clave antes de instalarla. Así que haz lo siguiente:

  1. sn -d VS_XXXX
  2. sn -i mykey.pfx VS_XXX

Después de probar todas estas soluciones (y muchas más), encontré que el problema está en otra parte. Para las personas que pasan por la misma miseria que yo después de comprar un certificado, compartiré la solución para mi problema.

Comportamiento

Entiendo que el ''signo'' aplica un nombre seguro y no un autenticodo a una DLL o EXE. Esta es la razón por la que Signtool funcionará en este caso, pero ''Sign'' en Visual Studio no funcionará.

Razón

En el pasado he tenido experiencia con certificados de Verisign. Tienen un KeySpec=2 en el certificado, que se usa con la funcionalidad de "firma" en Visual Studio. Estos certificados funcionan bien tanto para Visual Studio como para signtool.

Ahora compré certificados de Comodo, que tienen un KeySpec=1 incorrecto en los certificados de firma de código. Eso significa que estos certificados funcionan bien con signtool (authenticode) pero no con nombres fuertes (el desplegable de signos).

Solución

Hay dos formas de resolver este problema:

  1. Cree un certificado separado para su sn -k [name].snk usando sn -k [name].snk . Firme el ensamblaje utilizando el snk y luego use signtool con su certificado de firma de código para firmar el DLL / EXE con la firma autenticodo. Si bien esto parece extraño, por lo que entiendo, esta es una forma correcta de tratar con los certificados, ya que los nombres fuertes tienen un propósito diferente al de autenticodo (vea también este enlace para obtener detalles sobre cómo funciona esto).
  2. Importe su certificado como KeySpec=2 . El procedimiento para esto se detalla aquí .

Como quiero usar varios nombres fuertes, actualmente uso la opción (1), aunque la opción (2) también funciona.

Para garantizar que esta solución nunca se pierda en el futuro, aquí está el procedimiento de la solución 2:

  1. Utilizando el MMC "Certifiates", exporte el conjunto de claves existente ( KeySpec=1 ) a un archivo PFX. Nota: haga una copia de seguridad de este archivo en una ubicación segura y compruebe si el archivo se puede importar bien en otra máquina si realmente quiere que sea seguro.
  2. Elimine el certificado existente del almacén de criptografía (stlll utilizando el MMC).
  3. Abra un indicador de CMD.
  4. Importe el archivo PFX usando este comando:
    1. certutil -importPFX -user <pfxfilename> AT_SIGNATURE
    2. Ingrese la contraseña para el pfx cuando se le solicite.

Ahora debería tener un conjunto de claves / certificado con KeySpec=2 . Si es necesario, ahora puede exportar esto a otro archivo PFX usando la MMC nuevamente.


En mi caso, el servicio de compilación no estaba usando la misma cuenta de usuario con la que sn.exe la clave con el uso de sn.exe .

Después de cambiar la cuenta a mi cuenta de administrador, todo funciona bien.


Está bien, esto funcionó para mí. Abra la solución / proyecto anterior como administrador en Visual Studio 2010 y abra la solución / proyecto nuevo o copiado. Como administrador, elimine el archivo pfk copiado en la nueva solución / proyecto de Visual Studio 2010, vaya a las propiedades del proyecto y deseleccione.

Con ambos proyectos abiertos, copie y pegue al nuevo. Ve a las propiedades del proyecto y selecciona Construir. Abrí y cerré Visual Studio y, después de eliminarlo del nuevo proyecto, lo construí antes de copiarlo del proyecto anterior y seleccionarlo. Recibí el error al inicio de esta publicación por primera vez cuando copié el proyecto e intenté construirlo.


Esto solucionó mi problema: abre tu proyecto VS

Haga doble clic en Package.appxmanifest

Ir a la pestaña Embalaje

haga clic en elegir certificado

haga clic en configurar certificado

seleccione del archivo y use example.pfx esa unidad o cualquier otra cosa creada


Hablé demasiado pronto! Rebuild trajo los errores de nuevo en juego ...

Encontré que esto funciona: haga clic derecho en el Explorador de soluciones y exclúyalo del proyecto. Haga clic en Mostrar todos los archivos , haga clic con el botón derecho y ahora vuelva a incluirlo en el proyecto. Ahora deshaga los cambios pendientes ...

Por alguna razón, esto lo resolvió para mí y fue relativamente indoloro!


He descubierto una solución que le ayuda a construir con éxito en un entorno de múltiples desarrolladores:

En lugar de cambiar la contraseña (que hace que se cambie el .pfx), vuelva a seleccionar el archivo .pfx en el cuadro combinado. Esto invoca el diálogo de contraseña. Después de ingresar la contraseña, el proyecto se construirá OK. Todos los desarrolladores pueden hacer esto en su máquina local sin modificar realmente el archivo .pfx.

Todavía tengo problemas para que se firmen ensamblajes en nuestra máquina de servidor de compilación. Recibo el mismo error allí, sin embargo, usar el método sn.exe -i no soluciona el problema para el servidor de compilación.


Mi problema fue que el TFS Build Controller se estaba ejecutando como un servicio de red y, por alguna razón, no entendía por qué no se estaban utilizando los certificados de servicio de Visual Studio Build Host. Cambié la identidad del servicio de compilación de Visual Studio a algo más manejable, me aseguré de que tuviera derechos en el servidor TFS y agregué manualmente los certificados utilizando la MMC.

El problema también fue que MSBuild no puede agregar los certificados protegidos por contraseña a la tienda.



Para resolver este problema en Visual Studio 2012, haga clic con el botón derecho en el proyecto, propiedades -> "firmar" y, a continuación, desmarque "Firmar los manifiestos de ClickOnce".


Para tu información

Utilicé el sn.exe con la marca -p para el archivo PFX de firma de código oficial (comprado como firma de código) como se muestra debajo del archivo SNK creado y en Visual Studio 2013 SNK archivo SNK para ser utilizado.

  • Lo que resolvió el problema de la contraseña.

Pero aún así el problema es que sigue diciendo: "El archivo de clave * .. SNK no contiene un par de claves pública / privada".


Reseleccioné el archivo de clave (pfx) en el cuadro desplegable "Elegir un archivo de clave de nombre seguro", luego proporcioné la contraseña en la ventana emergente "INTRODUCIR CONTRASEÑA". Guardé mi proyecto y lo hice rebuild.build lo logré.

  • Abrir las propiedades del proyecto.
  • Haga clic en la sección de firma.
  • Donde dice ''Elija un archivo de clave de nombre seguro:'', vuelva a seleccionar el valor actual en el cuadro desplegable:

  • Visual Studio ahora le pedirá la contraseña. Ingresarlo.

  • Guarda tu proyecto y haz una reconstrucción.

  • Si aparece el mensaje de error: "Se intentó hacer referencia a un token que no existe", simplemente ignórelo y continúe con los siguientes pasos

  • Haga clic en el botón ''Cambiar contraseña'':

  • Ingrese la contraseña original en los tres cuadros y haga clic en Aceptar. Si desea cambiar su contraseña (o si su contraseña anterior no cumple con los requisitos de complejidad), puede hacerlo ahora.

  • Guarda tu proyecto y haz una reconstrucción.

Más información..


Resolví este problema yo mismo cambiando la siguiente línea en el archivo .csproj del proyecto de Visual Studio:

Esto arrojó el error ''no se puede importar'':

<PropertyGroup> <SignManifests>true</SignManifests> </PropertyGroup>

Cambiar el valor a falso hizo que el error desapareciera.


Todos los métodos descritos aquí no me ayudaron. Pero cuando borré el archivo * .pfx de mi proyecto y lo agregué nuevamente a la firma del ensamblado, ¡construí mi proyecto sin ningún error! No puedo explicar las razones de por qué. Pero funcionó para mí.


Tuve el mismo problema después de mover mi instalación de Windows a un SSD . Ninguna de las otras soluciones funcionó para mí.

Mi solución fue abrir el archivo de proyecto en el Notepad de Notepad y eliminar todas las referencias a las claves PFX. Una vez que se guarda el archivo, abra la solución en Visual Studio. Ir al proyecto -> Propiedades -> Firmar. No debería ver ninguna de las claves enumeradas en el cuadro combinado ''elegir el archivo de clave de nombre seguro''. En el cuadro combinado, vaya a la tecla, selecciónela y ya puede construir su proyecto.


Tuve el mismo problema y eliminar la tienda y la lectura no funcionó. Tuve que hacer lo siguiente.

  • Obtenga una copia de OpenSSL . Está disponible para Windows . O use una caja de Linux, ya que casi todos lo tienen.

  • Ejecuta lo siguiente para exportar a un archivo clave:

    openssl pkcs12 -in certfile.pfx -out backupcertfile.key openssl pkcs12 -export -out certfiletosignwith.pfx -keysig -in backupcertfile.key

Luego en las propiedades del proyecto puedes usar el archivo PFX.


Tuve un problema similar, pero después de seleccionar el pfx en un ComboBox "Archivo de clave de nombre seguro" y de escribir la contraseña todavía recibí un error similar (sin la parte del nombre del contenedor):

No se puede importar el siguiente archivo de clave: companyname.pfx. El archivo clave puede estar protegido por contraseña. Para corregir esto, intente importar el certificado nuevamente o instale manualmente el certificado

Además, el panel de información del certificado "Firmar los manifiestos de ClickOnce" no se llenó.

Hice "Select from File ..." en mi pfx, y resolví el problema.


VSCommands 2010 (complemento para Visual Studio) puede solucionar esto automáticamente: simplemente haga clic derecho en el error y haga clic en Aplicar corrección en el menú. Puedes obtenerlo desde la galería de Visual Studio .


Volver a seleccionar el archivo de clave en un cuadro combinado e ingresar la contraseña nos ayuda.

Pero es necesario hacerlo cada vez que cambia el archivo clave y parece que no está bien.


Yo también estaba teniendo este problema. Pude resolver el problema ejecutando
sn -i <KeyFile> <ContainerName> ( instala el par de claves en un contenedor con nombre ).

sn se suele instalar como parte de un SDK de Windows. Por ejemplo, C:/Program Files (x86)/Microsoft SDKs/Windows/v8.0A/bin/NETFX 4.0 Tools/sn.exe . Lo más probable es que esta ubicación no esté en la ruta de búsqueda para su entorno estándar. Sin embargo, el "Indicador de comando del desarrollador" instalado por Visual Studio agrega información adicional que generalmente incluye la ubicación correcta.

Basado en tu publicación que se vería como

sn -i companyname.pfx VS_KEY_3E185446540E7F7A

Esto debe ejecutarse desde la ubicación de su archivo PFX. Si tiene la solución cargada en VS 2010, simplemente haga clic con el botón derecho en el archivo pfx desde el explorador de soluciones y elija Abrir el símbolo del sistema que iniciará la herramienta de solicitud de cmd .net 2010 en El directorio correcto.

Antes de ejecutar este comando sn, reinstalé el pfx haciendo clic derecho en él y seleccionando instalar, pero eso no funcionó. Solo algo a tener en cuenta, ya que podría ser la combinación de ambos lo que proporcionó la solución.

Espero que esto ayude a resolver su problema.