2009-09-01 5 views
0

J'utilise un livre pour étudier pour la certification .NET, et je suis perplexe sur la question des certificats d'éditeur..NET Publisher Certificates

Contexte:

Windows Vista Édition Familiale Basique SP2 Visual Studio 2008 .NET 3.5 SP1

Objectif:

Ecrire une application simple console C# qui a son autorisation de lire un texte spécifique fichier déterminé par le certificat de l'application.

Symptômes:

Je suis capable de lire à partir du fichier, malgré l'attribution de l'autorisation Rien réglé sur le groupe de code qui est conditionné par le certificat de l'application.

Mesures prises:

  1. Wrote C# application console qui utilise StreamReader pour lire le fichier et la sortie sur la console. L'application fonctionne comme prévu. Dans les propriétés de l'application, j'ai utilisé l'onglet Signature, activé la case à cocher «Signer le manifeste ClickOnce», cliqué sur le bouton Créer un certificat de test et entré des mots de passe.
  2. Ensuite, j'ai cliqué sur le bouton Plus de détails, navigué jusqu'à l'onglet Détails, sélectionné la ligne Clé publique et cliqué sur le bouton Copier dans un fichier.
  3. Dans l'Assistant Exportation de certificat, j'ai choisi de ne pas exporter la clé privée, j'ai choisi le format binaire codé DER X.509 et fourni le chemin du fichier .CER.
  4. Ensuite, j'ai reconstruit l'application.
  5. J'ai ouvert l'outil de configuration .NET Framework 2.0.
  6. J'ai navigué vers Poste de travail> Sécurité d'exécution> Machine> Groupes de codes> Code_0
  7. Cliquez avec le bouton droit sur Tous_Code et sélectionnez Nouveau pour démarrer l'assistant de création de groupe de codes.
  8. Attribuez un nom au nouveau groupe de codes, puis sélectionnez le type de condition Publisher.
  9. Cliquez sur le bouton Importer depuis un fichier de certificat, puis sélectionnez le fichier .CER nouvellement créé.
  10. Ensuite, j'ai sélectionné le jeu d'autorisations Nothing.
  11. Lors de l'exécution de l'application, qui devrait maintenant être membre du nouveau groupe de codes, elle fonctionne toujours de la même manière. Je m'attendrais à ce que si c'est un membre du jeu d'autorisations Nothing, il ne puisse pas lire le fichier.

Merci pour toute information que vous pouvez nous donner. Il me manque probablement un petit détail. Je me demande si cela a quelque chose à voir avec l'utilisation de Vista Home Basic.

Répondre

0

Votre application peut-elle lire le fichier en question sans certificat? L'ajout de Nothing à un ensemble d'autorisations existantes ne changera pas grand-chose.

+0

Henk, à l'étape 1 J'écrivais et exécutais le programme sans certificat. Je n'ai ajouté cela que plus tard. J'étais sous l'impression que rien n'empêcherait l'exécution de l'exécutable s'il était trouvé comme membre du nouveau groupe, donc c'était mon test pour voir si .NET l'incluait en tant que membre. Suis-je hors base sur la compréhension de Rien? Existe-t-il un meilleur ensemble d'autorisations existant à utiliser pour tester si .NET inclut l'exécutable en tant que membre du nouveau groupe. Je voudrais m'assurer que l'inclusion fonctionne avant de le pointer vers un nouvel ensemble d'autorisations que j'ai créé. Merci! –

+0

Vous ne comprenez rien, mais le processus 'preuve correspondante' est additif, vous ajoutez votre groupe Nothing aux droits normaux. Pour enquêter, vous devez créer un dossier dans lequel l'application ne peut pas se connecter sans le certificat, puis ajouter des droits au groupe. –

+0

J'ai finalement trouvé une page qui explique ce que j'avais besoin de savoir. Mon problème était avec la création du certificat. Comme indiqué dans la question d'origine, tout ce que j'essayais était sur l'onglet de signature de la page de propriétés de l'application dans Visual Studio. Il semble que la création du certificat de test ne soit pas suffisante pour que ce certificat fonctionne en tant que condition de l'éditeur. Brièvement, les étapes étaient MakeCert, Cert2spc, SignTool et CertMgr. Ensuite, j'ai continué à l'étape 6. http://www.c-sharpcorner.com/UploadFile/ankithakur/PublishersBasedSecurity12012006061621AM/PublishersBasedSecurity.aspx –

Questions connexes