Come crittografare una voce in web.config

ASP.NET 4

Ho usato la crittografia della chiave RSA per le stringhe di connessione in web.config sulla mia web farm. Tuttavia, c’è un’altra password personalizzata che vorrei crittografare. Come dovrei crittografarlo con la chiave RSA senza che le restanti configurazioni vengano crittografate. Si prega di avvisare, grazie.

Esempio:

 ...         

È ansible inserire la password in una sezione separata e crittografare solo questa sezione. Per esempio:

    

e poi (nota che sto usando DPAPI nel mio esempio, quindi adattare il provider per RSA):

 aspnet_regiis -pef secureAppSettings . -prov DataProtectionConfigurationProvider 

Una volta crittografato, il file sarà simile a questo:

    
AQAAANCMnd.......

Il modo in cui si accede a tali impostazioni nell’applicazione una volta che il file è crittografato è sempre lo stesso e completamente trasparente:

 var host = ConfigurationManager.AppSettings["Host"]; var password = ConfigurationManager.AppSettings["Password"]; 

In c # e. Net 4.5 ho dovuto usare questo per leggere l’impostazione crittografata:

 string password = ((System.Collections.Specialized.NameValueCollection)ConfigurationManager.GetSection("secureAppSettings"))["Password"].ToString(); 

ma per il resto funziona bene.

Non è ansible crittografare una singola voce: l’infrastruttura consente solo la crittografia di intere sezioni di configurazione.

Un’opzione è quella di inserire la voce nella propria sezione di configurazione e crittografarla.