Angeben eines geschützten Konfigurationsanbieters

Aktualisiert: November 2007

Sie können Abschnitte einer Datei Web.config mit einer ProtectedConfigurationProvider-Klasse verschlüsseln und entschlüsseln. Die folgende Liste beschreibt die geschützten Konfigurationsanbieter in .NET Framework:

Beide Anbieter bieten eine starke Verschlüsselung von Daten an. Wenn Sie die gleiche verschlüsselte Konfigurationsdatei auf mehreren Servern verwenden möchten, z. B. in einer Webfarm, dann können Sie nur mit dem RsaProtectedConfigurationProvider die Verschlüsselungsschlüssel exportieren und auf einem anderen Server importieren.

Mit .NET Framework können Sie auch eigene geschützte Konfigurationsanbieter definieren. Ausführliche Informationen finden Sie unter Implementieren eines geschützten Konfigurationsanbieters.

Konfigurieren eines geschützten Konfigurationsanbieters

Sie können einen eigenen geschützten Konfigurationsanbieter angeben oder einen der in ASP.NET integrierten Anbieter verwenden. Standardmäßig sind in der Datei Machine.config die folgenden geschützten Konfigurationsanbieter angegeben:

Sie legen einen geschützten Konfigurationsanbieter im configProtectedData-Abschnitt einer Konfigurationsdatei fest. Wenn Sie einen eigenen Anbieter mit benutzerdefinierten Einstellungen angeben möchten, können Sie mit dem add-Element des providers-Elements eine neue Anbieterinstanz deklarieren. Sie können die Anbieterinstanz mit dem defaultProvider-Attribut des configProtectedData-Elements als Standardanbieter festlegen.

Im folgenden Beispiel wird eine RsaProtectedConfigurationProvider-Instanz mit dem Namen SampleProvider konfiguriert und als Standardanbieter festgelegt.

<configuration>
  <configProtectedData defaultProvider="SampleProvider">
    <providers>
      <add name="SampleProvider" 
        type="System.Configuration.RsaProtectedConfigurationProvider, 
              System.Configuration, Version=2.0.0.0, Culture=neutral, 
              PublicKeyToken=b03f5f7f11d50a3a,
             processorArchitecture=MSIL"
        keyContainerName="SampleKeys" 
        useMachineContainer="true" />
    </providers>
  </configProtectedData>
</configuration>

Sie verwenden den Namen der geschützten Konfigurationsanbieterinstanz beim Verschlüsseln von Konfigurationsabschnitten. Weitere Informationen finden Sie unter Verschlüsseln und Entschlüsseln von Konfigurationsabschnitten.

Optionen für geschützte Konfigurationsanbieter

Jeder geschützte Konfigurationsanbieter macht Optionen verfügbar, die Sie in der Konfigurationsdatei mithilfe der Attribute der Anbieterdeklaration festlegen können. Alle Anbieter erfordern das type-Attribut und das description-Attribut sowie den keyName für die Anbieterinstanz. Darüber hinaus sind die Optionen für jeden Anbietertyp eindeutig.

In der folgenden Tabelle werden die Konfigurationsoptionen für den RsaProtectedConfigurationProvider beschrieben.

Attribut

Beschreibung

type

Der Typ des geschützten Konfigurationsanbieters. Im folgenden Beispiel wird eine Typdefinition für den RsaProtectedConfigurationProvider gezeigt:

type="System.Configuration.RsaProtectedConfigurationProvider,
      System.Configuration, Version=2.0. 0.0,
      Culture=neutral,
      PublicKeyToken=b03f5f7f11d0a3a,
      processorArchitecture=MSIL"

description

Eine Beschreibung der Anbieterinstanz.

keyContainerName

Der Name des RSA-Schlüsselcontainers zum Verschlüsseln und Entschlüsseln des Inhalts der Datei Web.config.

Hinweis:
Der ASP.NET-Prozess muss Lesezugriff auf den angegebenen RSA-Schlüsselcontainer haben. Mit dem Tool Aspnet_regiis.exe können Sie unter Verwendung des -pa-Schalters Zugriff auf einen RSA-Schlüsselcontainer gewähren. Weitere Informationen finden Sie unter Importieren und Exportieren von RSA-Schlüsselcontainern mit geschützter Konfiguration.

useMachineContainer

Ist true, wenn der RSA-Schlüsselcontainer ein Schlüsselcontainer auf Computerebene ist; false, wenn der RSA-Schlüsselcontainer ein Schlüsselcontainer auf Benutzerebene ist. Weitere Informationen hierzu finden Sie unter Verschlüsseln von Konfigurationsinformationen mithilfe der geschützten Konfiguration.

useOAEP

Ist true, wenn OAEP (Optimal Asymmetric Encryption Padding) zum Verschlüsseln und Entschlüsseln verwendet werden soll; andernfalls false. Weitere Informationen finden Sie in den Ausführungen zur RSAOAEPKeyExchangeFormatter-Klasse.

cspProviderName

Der Name des Kryptografiedienstanbieters (CSP) der Windows-Krypto-API (Kryptografie-API). Weitere Informationen finden Sie unter ProviderName.

In der folgenden Tabelle werden die Konfigurationsoptionen für den DpapiProtectedConfigurationProvider beschrieben.

Attribut

Beschreibung

type

Der Typ des geschützten Konfigurationsanbieters. Im folgenden Beispiel wird eine Typdefinition für den DpapiProtectedConfigurationProvider gezeigt:

type="System.Configuration.DpapiProtectedConfigurationProvider,
      System.Configuration, Version=2.0.0.0,
      Culture=neutral,
      PublicKeyToken=b03f5f7f11d0a3a,
      processorArchitecture=MSIL"

description

Eine Beschreibung der Anbieterinstanz.

keyEntropy

Ein anwendungsspezifischer Wert, der in den Verschlüsselungsschlüssel integriert wird, damit die verschlüsselten Informationen nicht von anderen Anwendungen entschlüsselt werden können. Weitere Informationen finden Sie im Zusammenhang mit dem OptionalEntropy-Parameter der CryptProtectData-Methode der Windows-Data Protection API (DPAPI).

useMachineProtection

Ist true bei Verwendung von computerspezifischem Schutz; false bei Verwendung von benutzerkontospezifischem Schutz. Bei true kann jeder Prozess auf dem Computer den Schutz von Daten aufheben. Es ist zu empfehlen, den Zugriff auf verschlüsselte Daten mit einer Zugriffskontrollliste (ACL) einzuschränken. Weitere Informationen finden Sie im Zusammenhang mit dem CRYPTPROTECT_LOCAL_MACHINE-Wert des dwFlags-Parameters der CryptProtectData-Methode der Windows-Data Protection API (DPAPI).

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Verschlüsseln von Konfigurationsinformationen mithilfe der geschützten Konfiguration

Weitere Ressourcen

Verschlüsseln von Konfigurationsinformationen mithilfe der geschützten Konfiguration