2008-09-10 11 views
14

Je développe une application web qui nécessite un nom d'utilisateur et un mot de passe pour être stocké dans le web.Config, il se réfère également à certaines URL qui seront demandées par l'application web elle-même et jamais le client.Chiffrer appSettings dans web.config

Je sais que le framework .Net ne permettra pas de servir un fichier web.config, mais je pense toujours qu'il est mauvais de laisser ce type d'information en texte clair. Tout ce que j'ai lu jusqu'ici m'oblige à utiliser un commutateur de ligne de commande ou à stocker des valeurs dans le registre du serveur. Je n'ai accès à aucun de ceux-ci car l'hôte est en ligne et je n'ai qu'un accès FTP et Control Panel (barre).

Quelqu'un peut-il recommander de bonnes DLL ou méthodes de cryptage gratuites que je peux utiliser? Je préfère ne pas développer le mien!

Merci pour les commentaires jusqu'ici les gars mais je ne suis pas en mesure d'émettre des commandes et ne pas en mesure de modifier le registre. Il va devoir être un chiffrement util/helper mais je me demande juste lequel!

Répondre

19

EDIT ScottGu:
Si vous ne pouvez pas utiliser le asp utilitaire, vous pouvez crypter le fichier de configuration en utilisant la méthode SectionInformation.ProtectSection.

échantillon sur CodeProject:

Encryption of Connection Strings inside the Web.config in ASP.Net 2.0

+0

Aku, Malheureusement ces liens se réfèrent à la ligne de commande, je ne peux pas les utiliser car nous n'avons pas d'accès direct à la ligne de commande. Si je devais le chiffrer sur ma propre machine puis le déployer sur le serveur, cela ne fonctionnerait pas car la clé n'existerait pas/serait différente – Mauro

+0

Il fait référence à [Encrypting Custom Configuration Sections] (http: // odetocode. com/blogs/scott/archive/2006/01/08/encrypting-custom-configuration-sections.aspx). C'est un exemple simple, l'article MSDN lié est [ici] (https://msdn.microsoft.com/en-us/library/zhhddkxy.aspx). – Matt

0

Alors que le premier coup d'oeil, il semble être simple, il y a quelques obstacles que je rencontrais.

donc je fournis des mesures qui a bien fonctionné pour moi (pour chiffrer les appsettings section) à l'aide du fournisseur de Crypto par défaut:

Crypter sections du web.config:

  1. ouvert Shell de commande Admin (exécutez en tant qu'administrateur!). L'invite de commande sera sur C: qui est supposé pour les étapes ci-dessous.
  2. cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319, sur systèmes Windows 32 bits utilisent Framework au lieu de Framework64
  3. changement D:
  4. cd D:\Apps\myApp
  5. c:aspnet_regiis -pef appConfig .

Vous devriez voir ce message:

Microsoft (R ASP.NET RegIIS version 4.0.30319.0 Utilitaire d'administration pour installer et désinstaller ASP.NET sur la machine locale. Droit d'auteur (C) Microsoft Corporation. Tous les droits sont réservés. Section de configuration du chiffrement ... Réussi!

Vous pouvez également Décrypter sections du web.config: Ce sont les mêmes étapes, mais avec l'option -pdf au lieu de -pef pour aspnet_regiis.