2009-07-02 13 views

risposta

6

Credo che ci siano due modi per farlo:

utilizzando aspnet_regiis utilizzando DPAPI o RSA, o doing it programmatically.

Il modo programmatico può essere utile, in particolare se si desidera crittografare app.config.

Dalla mia esperienza 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 copiato il seguente approccio:

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

Le probabilità sono se si stanno crittografando solo 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.

+0

Sì, @Richard che rende la macchina più ampia rende più facile! – TheVillageIdiot

+0

Ciao RichardOD, la mia domanda è .. Se lo fai a livello di programmazione. Quando devo crittografare e decodificare il file webconfig? Controlla il mio post su questo link -> http://stackoverflow.com/questions/25614737/encrypt-decrypt-web-config – Haminteu

+0

A che scopo farlo? Chiunque può facilmente decifrare le stringhe di connessione con la stessa facilità con cui possiamo crittografarlo. – markthewizard1234

2

Utilizzare lo strumento aspnet_regiis nella directory quadro:

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

Utilizzare lo strumento da riga di comando aspnet_regiis.exe

È inoltre possibile crittografare e decifrare le sezioni nel file Web.config usando lo strumento da riga di comando aspnet_regiis.exe, che può essere trovato nella directory% WINDOWSDIR% \ Microsoft.Net \ Framework \ version.

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

+1

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. –

+0

Risposta modificata con il tuo suggerimento. Grazie. – jinsungy

7

Qui ci sono i comandi per crittografare file web.config, senza alcuna programmazione ...

per la crittografia

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

per la decrittazione

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

Da questo comando è possibile crittografare o decodificare tutta la sezione.

+1

Non inserire neanche una "\" finale alla fine del percorso. Non ha funzionato per me finché non l'ho rimosso. – user2444499

+0

E assicurati di eseguire i privilegi di amministratore. – marsze