6

Problem mit der Verschlüsselung. Ich gab allen Benutzern die vollen Berechtigungen für RSA-Ordner. Ich habeWeb.config Verschlüsselungsfehler

C:\>aspnet_regiis -pe "appSettings" -location "web.config" -prov "RsaProtectedCo 
nfigurationProvider" 
Encrypting configuration section... 
An error occurred executing the configuration section handler for appSettings. 

Failed to encrypt the section 'appSettings' using provider 'RsaProtectedConfigur 
ationProvider'. Error message from the provider: Object already exists. 

Failed! 

Dann habe ich

C:\>aspnet_regiis -pa "NetFrameworkConfigurationKey" "administrator" 
Adding ACL for access to the RSA Key container... 
The RSA key container was not found. 
Failed! 

Gefolgt von

C:\>aspnet_regiis -pc "NetFrameworkConfigurationKey" -exp 
Creating RSA Key container... 
The RSA key container could not be opened. 
Failed! 

Nichts für mich arbeitet.

Kann jemand helfen?

Dank

Antwort

1
C:\>aspnet_regiis -pe "appSettings" -location "web.config" 
     -prov "RsaProtectedConfigurationProvider" 

In dieser Zeile Ihrer Position nicht korrekt ist. Wenn Sie die -pd Switch-Position verwenden, basiert sie auf den Anwendungspfaden von IIS, und web.config wird als Verschlüsselungspunkt angenommen.

So zum Beispiel, wenn Sie eine Anwendung „Website 1“ genannt und ein anderer „Website 2“ in IIS genannt, und Sie möchten die web.config in „Website 1“ verschlüsselt werden Sie diese Zeile verwenden würde:

Persönlich fand ich es einfacher, den -pef Schalter zu verwenden, da ich direkt auf das physische Verzeichnis der Webanwendung zeigen kann.

Folgen Sie MSDN Tutorial auf Encrypting Configuration Information Using Protected Configuration. Ich habe es mehrmals benutzt und habe noch kein Problem mit der Verschlüsselung.

+0

Vielen Dank für Ihre Antwort. C: \> aspnet_regiis -pe "appSettings" -location "web.config" -prov "RsaProtectedConfigurationProvider" Ich habe dies auf mehreren anderen Maschinen getan. Es klappt. Das Problem ist also nicht die Befehlszeile. Das Problem ist der Schlüssel. In diesem speziellen Gerät stimmt etwas nicht mit dem Schlüssel überein. – BKarms

1

Sie müssen "Administrator" zu dem Konto ändern, auf dem Ihr ASP.NET-Dienst ausgeführt wird. Sie führen ASP.NET wahrscheinlich nicht als Administratordienstkonto aus. Wenn Sie es sind, sollten Sie Ihre Entscheidung noch einmal überdenken.

Zum Beispiel, hier ist, was ich benutze:

aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT Authority\Network Service" 

oder

aspnet_regiis -pa "NetFrameworkConfigurationKey" "ASPNET" 

Dann für die Verschlüsselung, die ich benutze:

aspnet_regiis -pef "connectionStrings" 

oder

aspnet_regiis -pef "appSettings" 
+0

Vielen Dank für Ihre Antwort. aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT Authority \ Netzwerkdienst" oder aspnet_regiis -pa "NetFrameworkConfigurationKey" "ASPNET" Egal, welchen Account ich gebe. Es gibt eine Fehlernachricht zurück. Hinzufügen von Zugriffssteuerungslisten für den Zugriff auf den RSA-Schlüsselcontainer ... Der RSA-Schlüsselcontainer wurde nicht gefunden. Gescheitert! – BKarms

9

Ich war mit diesem andernfalls das gleiche Problem bekommen:

aspnet_regiis -pa "NetFrameworkConfigurationKey" "{Domain} {Username}"

Die obige Linie zurückkehrte „Der RSA-Schlüsselcontainer war nicht gefunden. "

Um dieses Problem zu beheben, musste ich die Eingabeaufforderung als Administrator ausführen (öffnen Sie Start> Zubehör> dann klicken Sie mit der rechten Maustaste auf Eingabeaufforderung und wählen Sie Als Administrator ausführen ...). Ich musste dies tun, obwohl mein Konto ein Administratorkonto war.

+1

Das Ausführen der Eingabeaufforderung als Administrator behebt dieses Problem für mich. – mkchandler

0

Ich musste den Ordner finden, in dem die Zertifikate installiert sind, und den Besitz übernehmen/Berechtigungen erteilen, bevor die Fehler mit den obigen Befehlen verschwinden würden. Die Fehler besagten, dass der Schlüsselcontainer nicht gefunden werden konnte, aber es war nur, dass ich keine Berechtigungen für das Cert hatte. In meinem Fall hatte ich eine Entwicklungsmaschine von jemand anderem geerbt und musste mir Berechtigungen für die Dateien geben, bevor ich die notwendigen Befehle ausführen konnte.

Ich hatte gehofft, eine ausführlichere Antwort geben mit Cert-Ordner Standorten, detaillierte Schritte, etc., aber hatte keine Zeit und wollte nur notieren, was ich in meinem Szenario tun musste.