Chiffrement et déchiffrement des sections de configuration

Mise à jour : novembre 2007

Vous pouvez utiliser l'outil ASP.NET IIS Registration (Aspnet_regiis.exe) pour chiffrer ou déchiffrer des sections d'un fichier de configuration Web. ASP.NET déchiffre automatiquement des éléments de configuration chiffrés lors du traitement du fichier Web.config.

Remarque :

L'outil Aspnet_regiis.exe se trouve dans le dossier %windows%\Microsoft.NET\Framework\numéroversion.

Vous pouvez également utiliser les classes de configuration protégée de l'espace de noms System.Configuration pour chiffrer et déchiffrer des sections d'un fichier de configuration Web, des sections d'un fichier de configuration d'un exécutable (.exe) ou encore des sections de fichiers configuration au niveau de l'ordinateur et de l'application. Pour plus d'informations, consultez la méthode ProtectSection de la classe SectionInformation. Pour plus d'informations sur la façon de référencer une section d'un fichier Web.config, consultez la classe WebConfigurationManager. Pour plus d'informations sur la façon de référencer des sections de configuration de fichiers autres que le fichier Web.config, consultez la classe ConfigurationManager.

Chiffrement d'une section de configuration Web

Pour chiffrer le contenu d'un fichier de configuration, utilisez l'outil Aspnet_regiis.exe avec l'option –pe et le nom de l'élément de configuration à chiffrer.

Utilisez l'option –app pour identifier l'application dont le fichier Web.config sera chiffré et l'option -site pour identifier le site Web dont l'application fait partie. Le site Web est identifié à l'aide du numéro de site figurant dans la métabase IIS. Vous pouvez récupérer le numéro de site dans la variable serveur INSTANCE_META_PATH de la collection ServerVariables. Par exemple, un site Web nommé « Site Web par défaut » est créé comme site 1 lors de l'installation d'IIS. Dans les pages fournies par ce site, la variable serveur INSTANCE_META_PATH retourne "/LM/W3SVC/1". Si vous ne spécifiez pas d'option -site, le site 1 est utilisé.

Utilisez l'option –prov pour identifier le nom du fournisseur ProtectedConfigurationProvider qui exécutera le chiffrement et déchiffrement. Si vous ne spécifiez pas de fournisseur à l'aide de l'option -prov, le fournisseur configuré comme defaultProvider est utilisé.

Remarque :

Si vous utilisez une instance de RsaProtectedConfigurationProvider qui spécifie un conteneur de clé personnalisé, vous devez créer le conteneur de clé avant d'exécuter l'outil Aspnet_regiis.exe. Pour plus d'informations, consultez Importation et exportation des conteneurs de clé RSA de la configuration protégée.

La commande suivante chiffre l'élément connectionStrings dans le fichier Web.config de l'application SampleApplication. Aucune option -site n'étant spécifiée, il est supposé que l'application fait partie du site Web 1 (le site Web par défaut dans IIS). Le chiffrement est exécuté à l'aide du fournisseur RsaProtectedConfigurationProvider spécifié dans la configuration d'ordinateur.

aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider"

Lors d'une demande d'une page ou d'une autre ressource ASP.NET de l'application, ASP.NET appelle le fournisseur de la section de configuration protégée pour déchiffrer les informations qu'ASP.NET et votre code d'application doivent utiliser.

Remarque :

Pour déchiffrer et chiffrer une section du fichier Web.config, le processus ASP.NET doit disposer de l'autorisation en lecture sur les informations de clé de chiffrement appropriées. Pour plus d'informations, consultez Importation et exportation des conteneurs de clé RSA de la configuration protégée.

Déchiffrement d'une section de configuration Web

Pour déchiffrer le contenu du fichier de configuration chiffré, vous utilisez l'outil Aspnet_regiis.exe avec le commutateur -pd et le nom de l'élément de configuration à déchiffrer. Utilisez les commutateurs –app et -site pour identifier l'application dont vous souhaitez déchiffrer le fichier Web.config. Vous n'avez pas besoin de spécifier le commutateur –prov pour identifier le nom du fournisseur ProtectedConfigurationProvider dans la mesure où ces informations sont lues dans l'attribut configProtectionProvider de la section de configuration protégée.

La commande suivante déchiffre l'élément connectionStrings du fichier Web.config de l'application ASP.NET SampleApplication.

aspnet_regiis -pd "connectionStrings" -app "/SampleApplication"

Voir aussi

Tâches

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

Concepts

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

Autres ressources

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