none
Criptografar valores de configuração RRS feed

  • Pergunta

  • Olá pessoal,

    Tenho uma aplicação Windows Forms que a string de conexão com o banco fica no arquivo app.config. Gostaria de saber proteger este arquivo ou criptografar a seção "ConnectionStrings" ou então se existe uma maneira melhor de armazenar a string de conexão.
    Eu encontrei um artigo no MSDN (http://msdn.microsoft.com/pt-br/library/ms998283.aspx) que mostra como fazer para aplicação asp.net (web.config), mas não consegui usá-lo para o app.config.

    Obrigado.

    Bruno Cerasi
    quarta-feira, 18 de fevereiro de 2009 17:48

Todas as Respostas

  • A melhor maneira na minha opnião realmente é usar o app.config de forma criptografada.


    Segue um exemplo.


    http://69.10.233.10/KB/dotnet/EncryptingTheAppConfig.aspx

    Att
    Nelson Borges - Analista de Sistemas
    quarta-feira, 18 de fevereiro de 2009 23:24
  • Olá Bruno,

    Você pode usar o código do artigo que encontrou para aplicação Windows Forms. Tudo o que precisa fazer é renomear o arquivo app.config para web.config antes de criptografá-lo, e depois renomear novamente para app.config. A aplicação Windows Form consegue descriptografar e acessar as informações do arquivo automaticamente.

    Tem algum tempo que usei essas funcionalidades, talvez terá que incluir uma referência para a biblioteca System.Web.Security.

    Obs. A criptografia é gerada para a máquina onde executou os códigos. Se tentar levar o arquivo criptografado para outras máquinas não irá funcionar.

    Um abraço

    Rodrigo Guimarães da Silva
    • Marcado como Resposta Bruno Cerasi terça-feira, 3 de março de 2009 12:14
    • Não Marcado como Resposta Bruno Cerasi terça-feira, 3 de março de 2009 12:18
    segunda-feira, 2 de março de 2009 18:37
  • Realmente, eu havia feito isso. Renomeava o arquivo e criptografava, mas quando instala o software em outra máquina, ele não consegue ler a string de conexão.

    De qualquer forma, obrigado pela dica.
    Bruno Cerasi
    terça-feira, 3 de março de 2009 12:13
  •  Olá Bruno,

    Você deve criptografar o arquivo na máquina onde vai ser acessado o sistema.

    Um abraço.
    Rodrigo Guimarães da Silva
    terça-feira, 3 de março de 2009 16:35
  • Olá Rodrigo, obrigado pela atenção.
    Ainda não consigui resolver este problema. Pois tenho uma aplicação que é distribuída para várias máquinas, portanto não é viável criptografar esse arquivo para cada máquina.
    Bruno Cerasi
    quarta-feira, 27 de maio de 2009 12:31
  • Oi,

    Eu mesmo já escrevi um artigo sobre isso em http://www.bufaloinfo.com.br/artigos/coluna31.asp

    Mas realmente deixei de lado uma questão importante : A chave precisa ser criada previamente justamente para garantir que a mesma chave possa ser exportada para todas as máquinas. Veja o artigo em https://www.orcsweb.com/articles/create_export_encrypt.aspx

    []'s

    Dennes
    *Treinamento de ASP.NET 3.5 c/Visual Studio 2008 em SP - Apenas 12x R$ 70,88 - http://www.bufaloinfo.com.br/cursos/aspnet2.asp
    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp
    quinta-feira, 28 de maio de 2009 00:57