多想想,总能感悟出什么...

机会就是这么产生的!

asp.net 2.0中加密web.config /App.config

  • WEB篇
        网上已经有很多文章提到:
       
    ASP.NET 2.0加密Web.config 配置文件 
       
    Keeping secrets in ASP.NET 2.0.
        就是利用aspnet_regiis新增加的加密功能,典型格式如下:
        aspnet_regiis -pe "connectionStrings" -app "/MyWeb".确实是一个很爽的功能,不用为读取加密的配置文件做任何其他工作.完全按照原来的方式进行处理就OK了.
  • Windows篇
        Web的配置文件需要加密,难道Windows的配置文件就可以忽视了吗?aspnet_regiis可以加密Web.config,能不能用来加密App.config呢?答案是肯定的.不过似乎要稍微做点手脚:)首先,我们来看下aspnet_regiis的"-pef"参数,这个参数是指定配置文件的物理路径,正因为有了他,我们才可以使用"哩猫换太子的伎俩"来骗过aspnet_regiis.exe,让他为Windows的配置文件加密.先将App.config改名为Web.config,然后使用如下命令:
        aspnet_regiis -pef "connectionStrings" "D:\Project\WinProject"
        "D:\Project\WinProject"这个路径就是存放"乔装"成Web.config的App.config,然后aspnet_regiis会提示加密成功,然后,我们把名字改回App.config,然后在Windows程序中使用,同样,可以按照原来的方式读取加密后的文件.
        基于这一点,又想说,为什么MS不直接提供个配置加密/加密工具算了.何必放到aspnet_regiis.exe里面呢?搞得只能加密Web配置一样.
    (以上加密,都是采用漠认的RsaProtectedConfigurationProvider)

    最后,觉得不太爽的就是:目前似乎MS只提供了命令行的方式,用起来不太方便.不过似乎Enterprise Library似乎提供了一个图形化的加/解密界面.不知道是不是和aspnet_regiis是同样的方式.
  • posted on 2007-08-04 13:38  XiaoShan  阅读(426)  评论(0编辑  收藏  举报

    导航