web-dev-qa-db-fra.com

Impossible d'importer l'erreur de fichier clé suivante lors de l'importation de pfx

J'ai étudié cette question à fond sur stackoverflow et j'ai vu de nombreuses réponses mais aucune d'entre elles n'a encore fonctionné pour nous. Nous avons récemment acheté un certificat de signature de code auprès de Comodo que nous allons utiliser pour signer notre application c # WPF .net4.
Nous avons suivi les instructions sur le URL suivante

et avez ensuite importé le certificat dans Visual Studio sous «Propriétés du projet-> Chant-> Signer l’Assemblée». Nous essayons ensuite de construire le projet et d'obtenir l'erreur suivante:

Impossible d'importer le fichier de clé suivant: comodo.pfx. Le fichier de clé peut être protégé par mot de passe. Pour résoudre ce problème, essayez d'importer à nouveau le certificat manuellement. Installez-le manuellement dans le CSP Nom fort avec le nom de conteneur de clé suivant: VS_KEY_xxxxxxxxxxxxxxxx. 

Nous avons trouvé de nombreuses solutions sur Internet et avons essayé les solutions suivantes:

  • Cliquez sur Changer le mot de passe et utilisez le même mot de passe aux 3 endroits.
  • sn -i [comodo] .pfx VS_KEY_xxxxxxxxxxxxxx
  • essayé de le convertir en fichier snk sans mot de passe et l'utiliser au lieu de .pfx
  • J'ai essayé de lancer Visual Studio en tant qu'administrateur et d'importer une clé
  • J'ai essayé de créer un projet barebone très simple et de signer avec cela
  • J'ai essayé le studio visuel 2010 et 2012
  • Nous avons essayé d'ajouter les éléments suivants à l'assembly [Assembly: AssemblyKeyFile ("chemin d'accès au fichier de clé")]
  • Événement ajouté dans le post-build "C:\Program Files (x86)\SDK Microsoft\Windows\v7.0A\Bin\signtool.exe" signe/f "$ (ProjectDir) [fichierfichier] .pfx"/p [motdepasse]/v "$ (ProjectDir) obj\Release\$ (TargetFileName)"
  • Ajouté dans une section du fichier .csproj:

  • Téléchargé http://visualstudiogallery.msdn.Microsoft.com/a83505c6-77b3-44a6-b53b-73d77cba84c8 et a cliqué sur 'Appliquer le correctif' sur l'erreur

Nous n'avons eu aucun succès jusqu'à présent. Nous pouvons importer la clé sans problème en utilisant le mot de passe afin de savoir que le mot de passe est correct. Nous savons également que cela fonctionne bien pour la signature du manifeste dans une publication après clic. Juste pour nous assurer que nous n’avions pas d’autres problèmes, nous avons désactivé la signature et nous essayons simplement de signer l’Assemblée.

25
hobeau

Můžete jednoduše otevřít "Project>Property>Signing "a zrušte zaškrtnutí políčka" Podepsat manifesty ClickOnce ".

14
regufo

J'ai appris que Visual Studio ne semble pas gérer très bien les certificats subordonnés.
J'ai essayé plusieurs certificats sur plusieurs machines (combinaisons OS/VS différentes) avec les mêmes résultats.
J'ai finalement trouvé ceci comme solution de contournement: 

Le problème avec Visual Studio semble être qu'il n'aime pas le chaînage de certificats. Vous pouvez résoudre ce problème en important/exportant le certificat sans le chaînage. Le problème suivant est résolu par avec certutil et exporté avec AT_SIGNATURE . Je pouvais l'importer dans VS et le construire, mais il ne semble pas signer l'Assemblée.

11
hobeau

J'ai eu une erreur similaire. Résolu en choisissant Installer PFX à partir d'un menu contextuel dans l'Explorateur Windows.

9
Der_Meister

La meilleure solution à laquelle je puisse penser est d'aller dans Projet -> Propriétés -> Choisir un fichier de nom de clé fort et choisir "Nouveau" -> Créer la clé puis aller à la section Certificat en haut -> cliquer sur Sélectionner dans un fichier et choisissez la nouvelle clé que vous avez créée -> Build Solution -> Publish. 

3
goodfella

Un autre 'a fonctionné pour moi' ...

Cliquez avec le bouton droit sur le PFX dans l'Explorateur Windows, choisissez 'Installer PFX' et, dans l'assistant, indiquez le mot de passe. Ensuite, dans les propriétés du projet dans VS, sous "Signing", choisissez "Change Password" et entrez le mot de passe à nouveau. Avant cela, seul le fonctionnement de VS en tant qu’administrateur fonctionnait.

1
Alan B

J'ai eu le même problème. Je construis l'application à partir d'une clé USB sur de nombreux ordinateurs et je pense que c'est la cause.

J'ai trouvé le succès avec la méthode "sn-i [comodo] .pfx VS_KEY_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&xxxxxxxxxxxxx>

  1. Exécutez "Invite de commande du développeur" en tant qu'administrateur (disponible dans Démarrer-> Tous les programmes-> Visual Studio-> Outils)
  2. Accédez à votre répertoire de clés (pour moi, c'était la racine de mon répertoire de projet, pas le répertoire de la solution)
  3. Exécutez "sn -i mykey.pfx VS_KEY_xxxxxxxxxxxxxx" (mykey.pfx et VS_KEY_xxxxxxxxxxxx sont tous deux trouvés dans le message d'erreur de génération)
  4. Entrez le mot de passe si nécessaire

Lorsque j'essayais de le faire sans exécuter "Invite de commandes du développeur" en tant qu'administrateur, le texte de l'aide apparaissant sous "sn -i mykey.pfx VS_KEY_xxxxxxxxxxxxxx", il ne fonctionnait pas. L'astuce consistait à m'assurer que j'avais lancé l'invite de développement en tant qu'administrateur.

Pour le contexte, j'utilise VS Community 2013.5, Windows 7 x64 Professional et NET Framework 4.7.

0
VoteCoffee

Pour moi, après avoir travaillé, Première installation du certificat en double-cliquant dessus. puis,

Propriétés du projet -> Signature -> Si la case "Signer les manifestes ClickOnce" est cochée -> cliquez sur "Sélectionner dans un fichier" et sélectionnez le fichier .pfx. Il doit afficher toutes les informations valides du certificat, telles que Émis vers, Émis par, Intention, etc.

0
Syed Abbas
  1. Accédez à Propriétés du projet -> Signature 
  2. Veuillez sélectionner le fichier * .pfx correspondant dans la liste déroulante.
  3. Entrez le mot de passe précédent utilisé pour la signature du code. (mot de passe: demandez à la personne qui a signé l'Assemblée et créé les certificats auto-signés et le code signé)
  4. (facultatif) Il ajoute automatiquement votre certificat en tant que confiance. Vous pouvez le voir à l'aide de la fenêtre de la console de gestion (exécutez la commande MMC et ajoutez Certificate add-snaps pour afficher le certificat).

 enter image description here

0
Mark Macneil Bikeio