IIS

Criptografando e descriptogrando strings de conexão no web.config


Introdução

Neste artigo vamos aprender a criptografar dados sensíveis através da ferramenta aspnet_regiis.exe.

Ambiente testado

Windows Server 2008 R2 Enterprise

Internet Information Services 7.5, com um diretório virtual chamado Web

Framework 64

Prática

Antes de iniciarmos com a prática, vamos ver como está o web.config:

 

 

 

Podemos notar que o texto está “clean” ou seja, pode ser lido por qualquer pessoa, obtendo informações importantes, como: localização do banco, nome do banco, senha e outros. Para criptografar a “section” <connectionStrings>, siga o procedimento abaixo:

  • Abra o prompt de comando em modo elevado
  • Navegue até a pasta %systemroot%Microsoft.NETFramework64v2.0.50727>
  • Digite: aspnet_regiis -pe “connectionStrings” -app “/Web” -prov “DataProtectionConfigurationProvider”

                 -pe – Especifica a sessão que será criptografada

                -app – Especifica o diretório virtual da aplicação

                -pef  – Especifica o caminho físico da aplicação, exemplo: c:inetpubwwwrootWeb

                -prov –  Especifica o nome do provedor

  • A saída do comando executado acima será:

Encrypting configuration section…

Succeeded!

 

 

Após executarmos a criptografia do web.config, abra-o e veja como ficou.

 

 

 

 

Para descriptografar o web.config, utilze o comando -pd

Sintaxe: aspnet_regiis -pd “connectionStrings” -app “/Web”

Decrypting configuration section…
Succeeded!

Conclusão

Neste artigo aprendemos a criptografar e descriptografar sections dentro do web.config

 

Erick Albuquerque  | Microsoft MVP
MVP Profile | Twitter | Linkedin

IIS
[Microsoft Azure] Instalando e configurando o FTP Server no Microsoft Azure
  • Gerson

    GersonGerson

    Author Responder

    Mas se eu publicar minha aplicação no host, alguém lá no host não poderia usar o processo inverso de descriptografar novamente?


    • iisbrasil

      Sim poderia, apenas se tiver acesso ao we.config.. Abs,