2013-03-12 23 views
17

Impossibile crittografare la sezione' connectionStrings 'utilizzando il provider' RsaProtectedCo nfigurationProvider '. Messaggio di errore dal provider: l'oggetto esiste già.Impossibile crittografare la sezione 'connectionStrings' utilizzando il provider 'RsaProtectedConfigurationProvider

Ho seguito la guida in http://msdn.microsoft.com/en-us/library/2w117ede.aspx ma al punto 3 in Per concedere l'accesso di identità ASP.NET al contenitore di chiavi RSA, si dice che la mia identità è il mio gruppo di lavoro \ nome utente, non ho la rappresentazione nel mio web.config presentare se

sto Crittografia web.config utilizzando la mia macchina con asp_regiis, quindi utilizzando visual Studio per eseguire il debug poi è venuto con questo errore

+1

Possibile Duplicato: [Da altro post] (http://stackoverflow.com/questions/8344373/encrypting-web-config-using-aspnet-regiis) In realtà CMD in esecuzione come admin ha risolto il problema anche per me! – Yash

+3

Avviare il prompt dei comandi in modalità amministratore quindi procedere. Dovrebbe risolvere il problema. – Sam

risposta

44

per utilizzare RsaProtectedConfigurationProvider è necessario avviare il prompt dei comandi o visual Studio come amministratore.

Per DataProtectionConfigurationProvider non è necessario eseguire i diritti di amministratore.

+2

La mia esperienza è che non è possibile accedere come un account amministrativo e avviare un prompt dei comandi generico. aspnet_regiis fallisce quando lo faccio. Devo effettivamente eseguire "Esegui come amministratore" su cmd.exe o sul prompt dei comandi di Visual Studio. Quindi aspnet_regiis funziona come previsto. – kermit

+0

Sì, è necessario elevare ai diritti di amministratore, sebbene ciò dipenda dalle impostazioni dell'utente del sistema (poiché in alcuni casi un amministratore connesso non dovrà elevare un'applicazione) per apportare queste modifiche alla macchina. – markthewizard1234

+0

Questo mi prende tutto il tempo. – rageit

0

È possibile creare il proprio provider utilizzando RsaProtectedConfigurationProvider per crittografare il proprio web.xml senza privilegi di amministratore.

  1. creare un archivio chiavi:

    aspnet_regiis pc "MyKeyStore" -exp

  2. Concessione accesso in lettura per tutti gli utenti:

    aspnet_regiss -pa "MyKeyStore" "Dominio/Utente "

  3. mettere una sezione di provider nel web.config

    <configProtectedData> 
    <providers> 
        <add name="MyRSAProvider" type="System.Configuration.RsaProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0,&#xD;&#xA; Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a,&#xD;&#xA; processorArchitecture=MSIL"keyContainerName="MyKeyStore"useMachineContainer="true" /> 
    </providers> 
    </configProtectedData> 
    
  4. Crittografare le sezioni di configurazione:

    aspnet_regiis -pef "configSection" "c: \ pathToWebConf" -PROV "MyRSAProvider"

Fonti:

Create RSA key container and provider

Encrypt configuration

Problemi correlati