Criptare e decriptare la stringa di connessione con ASP.NET 2.0

di Ugo Lattanzi, in UserScript, ASP.NET 2.0, web.config,

ASP.NET 2.0 ci mette a disposizione due sistemi per poter criptare la stringa di connessione presente all'interno del nostro web.config.
Il primo è tramite riga di comando e ci basta scrive:

aspnet_regiis -pe "connectionStrings" -app "/SampleApplication"

Dove "/SampleApplication" è il nome della nostra virtual direcotry in cui si trova il web.config con la stringa da cryptare.
Una volta lanciato il comando, se andiamo ad aprire il nostro file di configurazione notiamo subito che sono cambiate molte cose, prima fra tutte è scomparsa la stringa di connessione ed è stata aggiunta una sezione "EncryptedData" con dei nodi figli contenenti dei riferimenti ad algoritmi di criptazione e le chiavi di decriptazione.
Cambiando il parametro "pe" con "pd" è possibile tornare alla versione precedente decriptata.

Il secondo metodo messo a disposizione è a runtime, per cui tramite codice abbiamo la possibilità di cambiare la stringa, utile quando questa deve essere gestita dinamicamente, oppure non si ha accesso fisico al server. La sintassi è la seguente:

Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
ConfigurationSection section = config.Sections["connectionStrings"];
section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");

//Per il processo inverso
//section.SectionInformation.UnprotectSection();

config.Save();

In entrami i casi abbiamo lo stesso output descritto sopra e da codice la sintassi per recuperare la stringa di connessione resta sempre la stessa.
Non si riscontrano particolari rallentamenti nella procedura di decriptazione anche perchè staticizzando la stringa questa avviene soltanto al primo caricamento.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi