Verschlüsseln und Entschlüsseln von Konfigurationsabschnitten
Aktualisiert: November 2007
Sie können das ASP.NET IIS-Registrierungstool (Aspnet_regiis.exe) verwenden, um Abschnitte einer Webkonfigurationsdatei zu verschlüsseln und zu entschlüsseln. ASP.NET entschlüsselt verschlüsselte Konfigurationselemente automatisch, wenn die Datei Web.config verarbeitet wird.
Hinweis: |
---|
Das Tool Aspnet_regiis.exe befindet sich im Ordner %windows%\Microsoft.NET\Framework\versionNumber. |
Sie können auch die im System.Configuration-Namespace enthaltenen geschützten Konfigurationsklassen verwenden, um Abschnitte einer Webkonfigurationsdatei, einer Konfigurationsdatei für eine ausführbare Datei oder einer Konfigurationsdatei auf Computerebene oder Anwendungsebene zu verschlüsseln und zu entschlüsseln. Weitere Informationen finden Sie in den Ausführungen zur ProtectSection-Methode der SectionInformation-Klasse. Informationen zum Verweisen auf einen Abschnitt einer Datei Web.config finden Sie in den Ausführungen zur WebConfigurationManager-Klasse. Informationen zum Verweisen auf Konfigurationsabschnitte von anderen Dateien als der Datei Web.config finden Sie in den Ausführungen zur ConfigurationManager-Klasse.
Verschlüsseln eines Webkonfigurationsabschnitts
Verwenden Sie zum Verschlüsseln des Inhalts der Konfigurationsdatei das Tool Aspnet_regiis.exe mit der –pe-Option und dem Namen des zu verschlüsselnden Konfigurationselements.
Verwenden Sie die –app-Option, um die Anwendung zu bestimmen, für die die Datei Web.config verschlüsselt wird, und die -site-Option, um die Website zu bestimmen, zu der die Anwendung gehört. Die Website wird mithilfe der Sitenummer identifiziert, die in der Metabasis von Internetinformationsdienste (IIS) enthalten ist. Sie können die Sitenummer aus der INSTANCE_META_PATH-Servervariable in der ServerVariables-Auflistung abrufen. Wenn z. B. IIS installiert ist, wird eine Website mit dem Namen "Default Web Site" als Site 1 erstellt. Für Seiten, die zu dieser Site gehören, gibt die INSTANCE_META_PATH-Servervariable den Wert "/LM/W3SVC/1" zurück. Wenn Sie keine -site-Option angeben, wird die Site 1 verwendet.
Verwenden Sie die –prov-Option, um den Namen des ProtectedConfigurationProvider zu bestimmen, der die Verschlüsselung und die Entschlüsselung durchführt. Wenn Sie keinen Anbieter mithilfe der -prov-Option angeben, wird der als defaultProvider konfigurierte Anbieter verwendet.
Hinweis: |
---|
Wenn Sie eine RsaProtectedConfigurationProvider-Instanz verwenden, die einen benutzerdefinierten Schlüsselcontainer angibt, müssen Sie den Schlüsselcontainer erstellen, bevor Sie das Tool Aspnet_regiis.exe ausführen. Weitere Informationen finden Sie unter Importieren und Exportieren von RSA-Schlüsselcontainern mit geschützter Konfiguration. |
Der folgende Befehl verschlüsselt das connectionStrings-Element in der Datei Web.config für die Anwendung SampleApplication. Da keine -site-Option angegeben wurde, wird davon ausgegangen, dass die Anwendung zur Website 1 gehört (meistens die Standardwebsite in IIS). Die Verschlüsselung wird mit dem in der Computerkonfiguration angegebenen RsaProtectedConfigurationProvider ausgeführt.
aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider"
Wenn eine Seite oder eine andere ASP.NET-Ressource in der Anwendung angefordert wird, ruft ASP.NET den Anbieter für den geschützten Konfigurationsabschnitt auf, um die Informationen zu entschlüsseln, damit sie in ASP.NET und im Anwendungscode verwendet werden können.
Hinweis: |
---|
Um einen Abschnitt der Datei Web.config entschlüsseln und verschlüsseln zu können, benötigt der ASP.NET-Prozess die Berechtigung zum Lesezugriff auf den entsprechenden Schlüssel. Weitere Informationen finden Sie unter Importieren und Exportieren von RSA-Schlüsselcontainern mit geschützter Konfiguration. |
Entschlüsseln eines Webkonfigurationsabschnitts
Verwenden Sie zum Entschlüsseln des Inhalts der Konfigurationsdatei das Tool Aspnet_regiis.exe mit dem -pd-Schalter und dem Namen des zu entschlüsselnden Konfigurationselements. Verwenden Sie den –app-Schalter und den -site-Schalter, um die Anwendung zu bestimmen, für die die Datei Web.config entschlüsselt wird. Sie müssen den –prov-Schalter nicht angeben, um den Namen des ProtectedConfigurationProvider zu bestimmen, da diese Informationen aus dem configProtectionProvider-Attribut des geschützten Konfigurationsabschnitts gelesen wird.
Der folgende Befehl entschlüsselt das connectionStrings-Element in der Datei Web.config für die ASP.NET-Anwendung SampleApplication.
aspnet_regiis -pd "connectionStrings" -app "/SampleApplication"
Siehe auch
Aufgaben
Konzepte
Angeben eines geschützten Konfigurationsanbieters
Weitere Ressourcen
Verschlüsseln von Konfigurationsinformationen mithilfe der geschützten Konfiguration