Comment réaliser et déployer une auto-signé ClickOnce manifeste avec Visual Studio 2012
Nous allons obtenir ce hors de la voie... j' :
-
utiliser Visual Studio 2012
-
développer VB.NET applications - la plupart du temps .NET framework 3.5, certains 2.0.
-
utiliser Windows 7 pour le développement (les utilisateurs sont également à l'aide de Windows 7. Il y a un petit nombre d'utilisateurs internes (moins de 40).
J'ai aussi l'intention de dire que je suis nouveau à cela et ne comprennent pas pleinement ce processus. Je ne comprendre les concepts sous-jacents de chiffrement et de hachage/clés, etc., mais je ne peux pas vous dire pourquoi, vous pourriez avoir besoin d'un .cer
fichier et pas un .pfx
fichier.
Maintenant, alors...
Nous avons une application qui utilise un certificat pour signer son manifeste, qui a travaillé pendant trois (ou plus) années. Nous avons récemment mis à niveau à partir de Visual Studio; 2008 pour Visual Studio 2012, ayant essentiellement sauté de Visual Studio 2010. Quelque part dans ce processus, le certificat est maintenant invalide ou corrompu.
La solution proposée: créez un nouveau compte avec makecert.exe
"comme nous l'avons fait la dernière fois". Pas de sens de payer pour un certificat lorsque tous nous en avons besoin pour notre propre petit groupe d'utilisateurs et la petite commodité de ne pas voir que "faites-vous confiance à cet éditeur?" message (je crois?).
Lorsque vous essayez de publier, l'erreur exacte est:
Ne peut pas publier parce qu'un projet n'a pas de construire.
Une erreur s'est produite lors de la signature: impossible de signer
bin\Release\app.publish\setup.exe. SignTool Erreur: Le signataire de l'
le certificat n'est pas valide pour la signature. SignTool d'Erreur: Une erreur
s'est produite lors de la tentative de signe: bin\Release\app.publish\setup.exe
Maintenant, l'article Support Des Certificats Dans Vos Applications Avec Le .NET Framework 2.0 dit:
pour les applications de bureau, vous installez les certificats dans le
magasin d'utilisateur.
Alors, quand je regarde le magasin de l'utilisateur (via MMC avec certificat de composant logiciel enfichable) je vois:
Où la ligne rouge est la VIEILLE/certificat non VALIDE. Un autre est encore écoulée, avec mon nom d'utilisateur c' (2013-06-20).
Quand je vais pour sélectionner à partir de la boutique, je vois ceci:
Et dans le cas où vous êtes curieux, les autres intuitive de la place pour y mettre un de ces regards comme ceci:
Alors, comment puis-je ajouter un autre où la vieille/mal est?
Voici ce que j'ai essayé:
Suivantes ces instructions, j'ai exécuté
makecert -n "CN=TempCA" -r -sv TempCA.pvk TempCA.cer
Maintenant, j'ai un .pvk
fichier, et un .cer
fichier. Ensuite, j'ai suivi les instructions de la section Pvk2Pfx (Pilotes Windows) et a couru
pvk2pfx.exe -pvk TempCA.pvk -spc TempCA.cer -pfx TempCA.pfx
Maintenant, j'ai un .pfx
fichier... (est-ce bien ce dont j'ai besoin?), mais lorsque j'essaie d'importer pour le magasin de certificats à l'aide de la console MMC, le mot de passe que j'ai utilisé est soi-disant mauvais n'importe quoi - même si je l'ai copier et de les coller dans. (Cela ressemble à un bug dans le programme d'importation... je peux reproduire ce.)
Essayer une autre route, après l'importation de la .cer
fichier, il ne sera pas affiché dans le champ "sélectionnez à partir de la banque" de la fenêtre de Visual Studio, donc c'est inutile.
J'ai passé une journée sur ce sujet et suis prêt à le donner, mais je ne peux pas. Que dois-je faire?
Vous devez vous connecter pour publier un commentaire.
L'article À l'aide de Makecert Créer des Certificats pour le Développement aidé environ 90% de la sorte...
Le reste a été de comprendre que je pouvais faire une de deux choses (ces deux options nécessitent le certificat doit être dans une "racine de confiance", comme une "Autorité de Certification Approuvée", ou doit être signé par la personne qui est là):
.cer
fichier..cer
fichier dans le "personnel" du dossier, il apparaît comme une option de la "sélection de magasin" bouton (j'ai peut-être nécessaire de redémarrer l'ordinateur ou Visual Studio).makecert -n "CN=<CLIENTCNHERE>" -ic "Authority.cer" -iv "<AUTHORITYPRIVATEKEY>.pvk" -a sha1 -sky exchange -pe -sv "CLIENTPRIVATEKEY_GETS_CREATED.pvk" "MYCLIENTCERT.cer"
. Maintenant, entrez le nouveau mot de passe et de créer le fichier pfx en référençant le nouvellement créé .pvk fichier de la clé du client.La réponse par Watki02 est très utile mais manque un peu de détails. Également, des informations clés dans ce billet de blog devrait également être posté ici. Alors...
Créer votre propre certificat d'autorité racine:
CD \chemin\vers\whereyouwant
makecert -n "CN=Faire Un Nom" -un sha1 -r -sv MakeUpANameCertificateAuthority.pvk MakeUpANameCertificateAuthority.cer-ss MakeUpANameCertificateAuthority -sr localMachine
Invites de mot de passe
Vous serez invité à créer un mot de passe et de le soumettre ensuite un mot de passe. J'ai utilisé le même mot de passe pour les deux invites
Certificat d'utilisateur
makecert -pe-n "CN=CN=Un Nom d'Utilisateur" ss-MON -un sha1 -iv MakeUpANameCertificateAuthority.pvk -ic MakeUpANameCertificateAuthority.cer-sv MakeUpAName.pvk MakeUpAName.cer
Invites de mot de passe à nouveau
J'ai utilisé le même mot de passe ci-dessus
Faire un fichier portable pour échanger des
Envoyer le fichier à votre clientèle privée
"MakeUpAName.pfx"
Installer le certificat
c:> MMC.EXE
MENU FICHIER -> Ajouter /Supprimer un composant logiciel enfichable
Certificats -> Add -> Compte d'Ordinateur -> Finition -> OK
Action de MENU->Toutes les Tâches->Import
Passer par l'assistant
Choix *.pfx format
Choisissez fichier
Continuer avec les options par défaut