«Impossible de trouver un certificate de signature de manifeste dans le magasin de certificates» – même si vous ajoutez une nouvelle clé

Je ne peux pas construire de projets avec une signature de nom fort – le message dans le titre apparaît toujours.

Oui, le projet a été initialement copié depuis une autre machine. Cependant, même si j’ajoute une nouvelle clé via l’onglet Signature dans les propriétés du projet, cette erreur est toujours affichée.

J’ai essayé d’exécuter Visual Studio en tant qu’administrateur et j’ai essayé d’append manuellement les clés au magasin de certificates Windows.

Aidez-moi!

Edit: Je ne reçois pas cette erreur avec un nouveau projet, mais j’aimerais bien que ce projet existant fonctionne. Cela ne fonctionnera pas même si je crée un nouveau certificate!

J’ai finalement trouvé la solution et j’espère vraiment que cela aidera aussi quelqu’un d’autre.

  1. Editez le fichier .csproj du projet en question.
  2. Supprimez les lignes de code suivantes:

      ...........   xxxxxxxx.pfx   true   false  

Accédez aux “Propriétés” de votre projet dans Visual Studio. Ensuite, allez à l’onglet signature.

Assurez-vous ensuite que l’option Signer les manifestes Click Once est désactivée.


Instructions mises à jour:

Dans votre explorateur de solutions:

  1. clic droit sur votre projet
  2. cliquez sur les propriétés
  3. généralement sur le côté gauche, sélectionnez l’onglet “Signature”
  4. cocher le signe que ClickOnce manifeste
  5. Assurez-vous de sauver!

entrer la description de l'image ici

  1. Ouvrez le fichier .csproj dans le Bloc-notes.
  2. Supprimer les informations suivantes relatives à la signature du certificate dans le magasin de certificates

      xxxxx xxxxxx xxxxxxxx.pfx true false  

Essayez ceci: Cliquez avec le bouton droit de la souris sur votre projet -> Allez dans les propriétés -> Cliquez sur la signature qui se trouve à gauche de l’écran -> Décochez la case

Accédez à vos projets “Propriétés” dans Visual Studio. Ensuite, allez à l’onglet signature.

Assurez-vous ensuite que l’option Signer les manifestes Click Once est désactivée.

OU

1. Ouvrez le fichier .csproj dans le Bloc-notes.

2. Supprimez les informations suivantes relatives à la signature du certificate dans le magasin de certificates xxxxx xxxxxx xxxxxxxx.pfx true false `

Travaillé pour moi

En supposant qu’il s’agit d’un certificate personnel créé par Windows sur le système à partir duquel vous avez copié le projet, vous pouvez utiliser le gestionnaire de certificates sur le système où se trouve le projet et importer le certificate. Démarrez le gestionnaire de certificates (certmgr) et sélectionnez les certificates personnels, puis cliquez avec le bouton droit de la souris sous la liste des certificates existants et sélectionnez Importer depuis les tâches. Utilisez la navigation pour rechercher le fichier .pfx dans le projet (le fichier .pfx du système précédent que vous avez copié avec le projet). Il devrait être dans le sous-répertoire avec le même nom que le répertoire du projet. Je suis familier avec C # et VS, donc si ce n’est pas votre environnement, le fichier .pfx sera peut-être ailleurs ou peut-être que cette suggestion ne s’applique pas. Après l’importation, vous devriez recevoir un message d’état. Si vous avez réussi, l’erreur de certificate de compilation doit avoir disparu. écran certmgr

C’est simple!!

J’ai résolu ce problème en procédant comme suit:

  1. Ouvrir les propriétés du projet img
  2. Cliquez sur l’onglet Signature
  3. Et décochez “Signer l’assemblage”

C’est tout!!

Il ne suffit pas d’append manuellement des clés au magasin de certificates Windows. Le certificate contient uniquement la clé publique signée. Vous devez également importer la clé privée associée à la clé publique dans le certificate. Un fichier .pfx contient des clés publiques et privées dans un seul fichier. C’est ce que vous devez importer.

Vous avez dit avoir copié des fichiers depuis un autre ordinateur. Après les avoir copiés, les avez-vous débloqués? Plus précisément, le fichier .snk doit être vérifié pour s’assurer qu’il n’est pas marqué comme dangereux.

Pour signer un assembly avec un nom fort en utilisant des atsortingbuts

Ouvrez AssemblyInfo.cs (dans $(SolutionDir)\Properties )

AssemblyKeyFileAtsortingbute ou AssemblyKeyNameAtsortingbute , spécifiant le nom du fichier ou du conteneur contenant la paire de clés à utiliser lors de la signature de l’assembly avec un nom fort.

ajoutez le code suivant:

 [assembly:AssemblyKeyFileAtsortingbute("keyfile.snk")] 

Si vous avez simplement besoin de construire le projet ou la solution localement, la suppression de la signature peut s’avérer une solution simple comme d’autres le suggèrent.

Mais si vous avez cette erreur sur votre serveur de génération d’automatisation, comme TeamCity, où vous construisez vos pièces de version pour le déploiement ou la dissortingbution, vous pouvez envisager d’installer correctement ce certificate dans le magasin de certificates de la machine de génération. un paquet signé à la fin de la construction.

Généralement, il n’est pas recommandé d’enregistrer / valider des certificates PFX dans le contrôle de code source. La question de savoir comment obtenir ces fichiers sur votre serveur de génération lors du processus de construction est un peu plus complexe . code, vous pouvez donc le trouver dans le dossier du projet.

Tout ce que vous avez à faire est d’installer ce certificate sous le compte approprié sur votre serveur de génération.

  1. Téléchargez PsExec à partir de Windows Sysinternals .

  2. Ouvrez une invite de commande et entrez les informations suivantes. Il générera une nouvelle invite de commande, exécutée en tant que système local (en supposant que votre TeamCity s’exécute sous le compte par défaut du système local):

    > psexec.exe -i -s cmd.exe

  3. Dans cette nouvelle invite de commande, accédez au répertoire contenant le certificate et entrez le nom du fichier à installer (remplacez le nom du fichier par le votre):

    > mykey.pfx

  4. L’assistant d’importation de certificate démarre. Cliquez sur et sélectionnez toutes les valeurs par défaut suggérées.

  5. Exécutez la construction.

Tous les crédits vont à Stuart Noble (puis à Laurent Kempé je crois ☺).