2009-07-02 5 views

Répondre

6

Je crois qu'il ya deux façons de le faire:

à l'aide aspnet_regiis en utilisant DPAPI ou RSA ou doing it programmatically. La méthode par programmation peut être utile, en particulier si vous souhaitez également chiffrer app.config. D'après mes expériences de l'utilisation de ceci, si vous écrivez une section de configuration personnalisée, vous avez installé la DLL contenant les classes pour cette section dans le GAC. Pour un projet que je travaillais j'ai fondamentalement scripté l'approche suivante:

  • Copiez la DLL de config à GAC.
  • Effectuez le chiffrement.
  • Supprimer la DLL de configuration de GAC.

Les chances sont que si vous cryptez simplement des chaînes de connexion, ce ne sera pas un problème. Vous devez également garder à l'esprit si vous souhaitez crypter sur une base de machine ou à un compte d'utilisateur spécifique - les deux options peuvent être utiles selon votre scénario. Pour simplifier je me suis contenté de chiffrer à grande échelle. Les liens que j'ai fournis expliquent les mérites des deux approches.

+0

Oui @Richard rend la machine plus large, c'est plus facile! – TheVillageIdiot

+0

Bonjour RichardOD, ma question est .. Si vous le faites par programme. Quand dois-je crypter et décrypter le fichier webconfig? Vérifiez mon poste sur ce lien -> http://stackoverflow.com/questions/25614737/encrypt-decrypt-web-config – Haminteu

+0

Quel est le point de faire cela? Tout le monde peut facilement déchiffrer les chaînes de connexion aussi facilement que nous pouvons le chiffrer. – markthewizard1234

2

Utilisez l'outil aspnet_regiis dans votre répertoire cadre:

         -- CONFIGURATION ENCRYPTION OPTIONS -- 

pe section   Encrypt the configuration section. Optional arguments: 
         [-prov provider] Use this provider to encrypt. 
         [-app virtual-path] Encrypt at this virtual path. Virtual path must begin with a forward slash. 
         If it is '/', then it refers to the root of the site. If -app is not specified, the root 
         web.config will be encrypted. 
         [-site site-name-or-ID] The site of the virtual path specified in -app. If not specified, the 
         default web site will be used. 
         [-location sub-path] Location sub path. 
         [-pkm] Encrypt/decrypt the machine.config instead of web.config. 

pd section   Decrypt the configuration section. Optional arguments: 
         [-app virtual-path] Decrypt at this virtual path. Virtual path must begin with a forward slash. 
         If it is '/', then it refers to the root of the site. If -app is not specified, the root 
         web.config will be decrypted. 
         [-site site-name-or-ID] The site of the virtual path specified in -app. If not specified, the 
         default web site will be used. 
         [-location sub-path] Location sub path. 
         [-pkm] Encrypt/decrypt the machine.config instead of web.config. 
0

Utilisez l'outil de ligne de commande aspnet_regiis.exe

Vous pouvez également chiffrer et déchiffrez les sections du fichier Web.config à l'aide de l'outil de ligne de commande aspnet_regiis.exe, qui se trouve dans le répertoire% WINDOWSDIR% \ Microsoft.Net \ Framework \ version.

Regardez ici: http://aspnet.4guysfromrolla.com/articles/021506-1.aspx.

+1

Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien pour référence. Les réponses à lien uniquement peuvent devenir invalides si la page liée change. –

+0

Edited réponse avec votre suggestion. Merci. – jinsungy

7

Voici les commandes pour crypter le fichier web.config sans programmation ...

pour le cryptage

aspnet_regiis -pef "Section" "Path exluding web.config" 

pour décryptage

aspnet_regiis -pdf "Section" "Path exluding web.config" 

À partir de cette commande, vous pouvez crypter ou décrypter toute la section.

+1

Ne placez pas non plus de "\" à la fin du chemin. Cela n'a pas fonctionné pour moi jusqu'à ce que j'ai enlevé cela. – user2444499

+0

Et assurez-vous de courir avec des privilèges d'administrateur. – marsze