Asp.net 加密网络配置

Asp.net 加密网络配置,asp.net,Asp.net,我有一个web应用程序,我使用“发布”选项将其发布到三个web服务器 我想加密web配置文件的ConnectionString部分。下面的命令将执行此操作: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pef "connectionStrings" c:\inetpub\application 但是,我必须将RDP(远程桌面)连接到每台服务器,并在每台服务器上运行该命令,因为您不能这样(从客户端PC)运行它:

我有一个web应用程序,我使用“发布”选项将其发布到三个web服务器

我想加密web配置文件的ConnectionString部分。下面的命令将执行此操作:

c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pef "connectionStrings" c:\inetpub\application
但是,我必须将RDP(远程桌面)连接到每台服务器,并在每台服务器上运行该命令,因为您不能这样(从客户端PC)运行它:

\servername\c$\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet\u regiis.exe-pef“connectionStrings”\servername\c$\inetpub\application

有没有更好的方法:或许:

1) 发布后在服务器上执行命令行2)使用 Visual Studio中的生成选项,允许您执行批处理文件 发布完成后


如果集成安全不是一个选项,我建议您


使用Visual Studio 2012构建时,将获得一个zip文件和命令行脚本文件。您可以修改该脚本文件以加密web.config或滚动自己的批处理脚本或powershell脚本。

在服务器上加密web.config的ConnectionString部分,然后将该加密部分添加到web。[CONFIGURATION\u FOR\u server].config转换文件。密钥是第一行,表示用这个新的加密值替换原始web.config的ConnectionString部分。对于要发布到的每个服务器,都需要一个新的转换文件。Visual Studio将发出警告(不是错误),即

关于这个转换文件的格式-我还没有找到正确的语法来解决这个问题,所以我愿意接受建议,但它仍然有效,所以我很高兴。此网站的完整日志:


Rsa密钥
t8p7aOZTjMo…zE6FAAI=
Vy1TZWY8…集成电路+Qg6T7U

这是一个老问题,但这个答案可能会对某人有所帮助

在负载平衡或web场方案中,可以对文件加密一次,然后将web.config复制到其他计算机。但是,要使其工作,您必须为每个网站使用相同的机器密钥


希望这有助于搜索此内容的任何人。

请问您为什么不信任您的web服务器。另外,通常在生成部署包时,它应该删除连接字符串。我已将我的IIS服务器配置为处理此问题,并从IIS控制台中添加它们的连接字符串。这可能比在web.config文件中传递连接字符串要好,因为它允许更轻松地进行每台计算机的配置/负载平衡。该web应用程序部署到局域网中的一些客户端PC上。如果我没有加密连接字符串部分;任何人都可以看到登录的数据库密码。很公平。。。您是否可以使用集成安全性?如果服务器设置正确,这将完全缓解您的问题,但为SQL设置AD身份验证似乎是一个非常官僚的过程。我想我在这方面与Sparksis是一致的。在我看来,使用集成的安全性支持来加密web.config节可以更容易地完全避免这个问题。web Deploy的3.5版中添加了部署后的部分。
Warning 15  The element 'connectionStrings' has invalid child element 'EncryptedData' in namespace 'http://www.w3.org/2001/04/xmlenc#'. List of possible elements expected: 'add, remove, clear'.   C:\DevTFS\YourProject\Web.Stage.config  14  6   YourProject
<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider" xdt:Transform="Replace">
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
  xmlns="http://www.w3.org/2001/04/xmlenc#">
  <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
  <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
    <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
      <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
      <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
        <KeyName>Rsa Key</KeyName>
      </KeyInfo>
      <CipherData>          
         <CipherValue>t8p7aOZTjMo...zE6FAAI=</CipherValue>
      </CipherData>
    </EncryptedKey>
  </KeyInfo>
  <CipherData>
    <CipherValue>Vy1TZWY8....ic+Qg6T7U</CipherValue>
  </CipherData>
</EncryptedData>