Compartilhar via


Criptografando e Descriptografando Seções de Configuração

Você pode usar a ferramenta registro do IIS do ASP.NET (Aspnet_regiis.exe) para criptografar ou descriptografar seções de um arquivo de configuração da Web.O ASP.NET automaticamente descriptografará elementos de configuração criptografados quando o arquivo web.config é processado.

Observação:

A ferramenta Aspnet_regiis.exe está localizada na pasta %windows%\Microsoft.NET\Framework\versionNumber.

Você também pode usar as classes protegidos de configuração no espaço de nomes System.Configuration para criptografar e descriptografar seções de uma arquivo de configuração da Web, seções de um arquivo de configuração para um arquivo executável (.exe) ou seções de arquivos de configuração no nível da máquina ou do aplicativo.Para obter mais informações, consulte o método ProtectSection da classe SectionInformation.Para obter informações sobre referenciação à uma seção de um arquivo Web.config, consulte a classe WebConfigurationManager.Para obter informações sobre referenciação das seções de configuração dos arquivos exceto do arquivo web.config, consulte a classe ConfigurationManager.

Criptografar uma seção de configuração da Web

To encrypt configuration file contents, use the Aspnet_regiis.exe tool with the –pe option and the name of the configuration element to be encrypted.

Use the –app option to identify the application for which the Web.config file will be encrypted and the -site option to identify which Web site the application is a part of.O site é identificado com o número do site da metabase do Serviços de Informações da Internet (IIS).Você pode recuperar o número do site da variável de servidor INSTANCE_META_PATH na coleção ServerVariables.Por exemplo, quando o IIS estiver instalado, um Web site chamado "Site padrão do Web" é criado sistema autônomo site 1.Em páginas servidas desse site, a variável de servidor INSTANCE_META_PATH retorna "/ LM/W3SVC/1".Se você não especificar uma opção -site, Site 1 será usado.

Use the –prov option to identify the name of the ProtectedConfigurationProvider that will perform the encryption and decryption.Se você não especificar um provedor usando a opção -prov, o provedor configurado como defaultProvider é usado.

Observação:

Se você estiver usando uma instância RsaProtectedConfigurationProvider que especifica um contêiner de chave personalizada, você deve criar o contêiner de chave antes de executar a ferramenta Aspnet_regiis.exe.Para obter mais informações, consulte Importando e exportando containers protegidos de configuração de chaves RSA.

O comando a seguir criptografa o elemento connectionStrings no arquivo web.config para o aplicativo SampleApplication.Como nenhuma opção -site é incluída, o aplicativo é assumido como sendo do site 1 (o Web Site padrão mais comum no IIS).A criptografia é realizada usando a RsaProtectedConfigurationProvider especificado na configuração do computador.

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

Quando uma página ou outro recurso do ASP.NET no aplicativo é solicitado, o ASP.NET chama o provedor para a seção de configuração protegida para descriptografar as informações para uso pelo ASP.NET e o código do aplicativo.

Observação:

Para descriptografar e criptografar uma seção do arquivo web.config, o processo do ASP.NET deve ter permissão para ler as informações apropriadas da chave de criptografia.Para obter mais informações, consulte Importando e exportando containers protegidos de configuração de chaves RSA.

Descriptografando uma Seção de Configuração da Web

Para descriptografar conteúdo de arquivos de configuração encriptados, você usa a ferramenta Aspnet_regiis.exe com a opção -pd e o nome do elemento de configuração a ser descriptografado.Use the –app and -site switches to identify the application for which the Web.config file will be decrypted.You do not need to specify the –prov switch to identify the name of the ProtectedConfigurationProvider, because that information is read from the configProtectionProvider attribute of the protected configuration section.

O comando a seguir descriptografa o elemento connectionStrings no arquivo web.config para o aplicativo ASP.NET SampleApplication.

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

Consulte também

Tarefas

Demonstra Passo a passo: Criptografando informações de configuração usando configuração protegida

Conceitos

Especificando um Provedor de Configuração Protegida

Outros recursos

Criptografando informações de configuração usando configuração protegida