Crittografia Web.Config

Duplicazione dei file di configurazione di crittografia per la distribuzione .NET e crittografia dei file di configurazione per la distribuzione


Qual è l’approccio e gli strumenti migliori per la crittografia delle informazioni nel file web.config?

Credo che ci siano due modi per farlo:

usando aspnet_regiis usando DPAPI o RSA , o facendolo a livello di programmazione .

La modalità programmatica può essere utile, in particolare se si desidera crittografare app.config.

Dalle mie esperienze di utilizzo di questo, se si scrive una sezione di configurazione personalizzata, è necessario installare la DLL contenente le classi per tale sezione nel GAC. Per un progetto su cui stavo lavorando, ho essenzialmente sceneggiato il seguente approccio:

  • Copia DLL di configurazione in GAC.
  • Eseguire la crittografia.
  • Rimuovere la DLL di configurazione da GAC.

Le probabilità sono se si stanno solo crittografando stringhe di connessione, quindi questo non sarà un problema. È inoltre necessario tenere a mente se si desidera crittografare su una base di computer o su un account utente specifico, entrambe le opzioni possono essere utili a seconda del proprio scenario. Per semplicità mi sono concentrato sulla crittografia estesa. I collegamenti che ho fornito spiegano i meriti di entrambi gli approcci.

Ecco i comandi per crittografare il file web.config senza alcuna programmazione …

Per la crittografia

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

Per la decrittografia

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

Da questi comandi è ansible crittografare o decodificare tutta la sezione.

Usa lo strumento aspnet_regiis nella tua directory framework:

  -- 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. 

È necessario iniziare da qui, facile da seguire, guida passo-passo spiegata in MSDN: Procedura: crittografare le sezioni di configurazione in ASP.NET 2.0 utilizzando DPAPI

Utilizzare lo strumento da riga di comando aspnet_regiis.exe

È inoltre ansible crittografare e decodificare le sezioni nel file Web.config utilizzando lo strumento da riga di comando aspnet_regiis.exe, reperibile nella directory% WINDOWSDIR% \ Microsoft.Net \ Framework \ version.

Guarda qui: http://aspnet.4guysfromrolla.com/articles/021506-1.aspx .