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:
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.
Můžete jednoduše otevřít "Project>Property>Signing "a zrušte zaškrtnutí políčka" Podepsat manifesty ClickOnce ".
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:
Signer l'Assemblée avec
signtool sign /f "[path to pfx]" /p [password] /v "[path to Assembly]"
Construisez votre programme d'installation avec mageUI (voir " Déploiement manuel d'une application ClickOnce ")
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.
J'ai eu une erreur similaire. Résolu en choisissant Installer PFX à partir d'un menu contextuel dans l'Explorateur Windows.
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.
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.
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>
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.
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.