Partager via


Spécification d'un fournisseur de configuration protégée

Mise à jour : novembre 2007

Vous pouvez chiffrer et déchiffrer des sections d'un fichier Web.config à l'aide d'une classe ProtectedConfigurationProvider. La liste suivante décrit les fournisseurs de configuration protégée inclus dans le .NET Framework :

Les deux fournisseurs offrent un chiffrement renforcé des données. Toutefois, si vous projetez d'utiliser le même fichier de configuration chiffré sur plusieurs serveurs, par exemple une batterie de serveurs Web, seul RsaProtectedConfigurationProvider vous permet d'exporter les clés de chiffrement et de les importer sur un autre serveur.

Le .NET Framework vous permet également de définir vos propres fournisseurs de configuration protégée. Pour plus d'informations, consultez Implémentation d'un fournisseur de configuration protégée.

Configuration d'un fournisseur de configuration protégée

Vous pouvez spécifier votre propre fournisseur de configuration protégée ou vous pouvez utiliser l'un des fournisseurs intégrés d'ASP.NET. Par défaut, le fichier Machine.config spécifie les fournisseurs de configuration protégée suivants :

Vous spécifiez un fournisseur de configuration protégée dans la section configProtectedData d'un fichier de configuration. Si vous souhaitez spécifier votre propre fournisseur avec des paramètres personnalisés, vous pouvez déclarer une nouvelle instance de fournisseur à l'aide de l'élément add de l'élément providers. Vous pouvez identifier votre instance de fournisseur comme fournisseur par défaut à l'aide de l'attribut defaultProvider de l'élément configProtectedData.

L'exemple suivant configure une instance de RsaProtectedConfigurationProvider avec le nom SampleProvider et la définit comme fournisseur par défaut.

<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>

Vous utilisez le nom de l'instance de fournisseur de configuration protégée lors du chiffrement des sections de configuration. Pour plus d'informations, consultez Chiffrement et déchiffrement des sections de configuration.

Options du fournisseur de configuration protégée

Chaque fournisseur de configuration protégée expose des options que vous pouvez définir à l'aide des attributs de la déclaration du fournisseur dans le fichier de configuration. Tous les fournisseurs exigent l'attribut type et description de même que l'attribut keyName pour l'instance de fournisseur. À part cela, les options sont propres à chaque type de fournisseur.

Le tableau suivant décrit les options de configuration de RsaProtectedConfigurationProvider.

Attribut

Description

type

Type de fournisseur de configuration protégée. L'exemple suivant montre une définition de type de RsaProtectedConfigurationProvider :

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

description

Description de l'instance de fournisseur.

keyContainerName

Nom du conteneur de clé RSA utilisé pour chiffrer ou déchiffrer le contenu du fichier Web.config.

Remarque :
Le processus ASP.NET doit avoir un accès en lecture sur le conteneur de clé RSA spécifié. Vous pouvez octroyer l'accès à un conteneur de clé RSA avec l'outil Aspnet_regiis.exe et le commutateur -pa. Pour plus d'informations, consultez Importation et exportation des conteneurs de clé RSA de la configuration protégée.

useMachineContainer

true si le conteneur de clé RSA est un conteneur de clé de niveau ordinateur ; false si le conteneur de clé RSA est un conteneur de clé de niveau utilisateur. Pour plus d'informations, consultez Chiffrement des informations de configuration à l'aide de la configuration protégée.

useOAEP

true pour utiliser OAEP (Optimal Asymmetric Encryption Padding) lors du chiffrement et du déchiffrement ; sinon, false. Pour plus d'informations, consultez la classe RSAOAEPKeyExchangeFormatter.

cspProviderName

Nom du fournisseur de services de chiffrement (CSP) de l'API de chiffrement Windows (crypto API). Pour plus d'informations, consultez ProviderName.

Le tableau suivant décrit les options de configuration de DpapiProtectedConfigurationProvider.

Attribut

Description

type

Type de fournisseur de configuration protégée. L'exemple suivant montre une définition de type de DpapiProtectedConfigurationProvider :

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

description

Description de l'instance de fournisseur.

keyEntropy

Valeur spécifique à l'application à inclure avec la clé de chiffrement pour éviter que d'autres applications puissent déchiffrer des informations chiffrées. Pour plus d'informations, consultez le paramètre OptionalEntropy de la méthode CryptProtectData de l'API de protection des données (DPAPI) Windows.

useMachineProtection

true pour utiliser la protection spécifique à l'ordinateur ; false pour utiliser la protection spécifique au compte d'utilisateur. Lorsque l'attribut a la valeur true, tout processus exécuté sur l'ordinateur peut supprimer la protection des données. Il est donc recommandé de limiter l'accès aux données chiffrées à l'aide d'une liste de contrôle d'accès (ACL). Pour plus d'informations, consultez la valeur CRYPTPROTECT_LOCAL_MACHINE du paramètre dwFlags de la méthode CryptProtectData de l'API de protection des données (DPAPI) Windows.

Voir aussi

Tâches

Procédure pas à pas : chiffrement des informations de configuration à l'aide de la configuration protégée

Autres ressources

Chiffrement des informations de configuration à l'aide de la configuration protégée