C#SQL)如何加密web.config到Azure SQL数据库的连接字符串?(并将密钥导入Azure SQL数据库进



我的软件的体系结构是

WPF(用户计算机上的Windows桌面应用程序)-Azure云服务上的WCF web角色(Windows Communication Foundation)(此处,存在到Azure SQL数据库的连接字符串)-Azure SQL Server(Azure SQL数据库)。

据我所知,像"database.secure.windows.net"这样的新功能最近可以包含在Azure SQL数据库的连接字符串中。。

因此,我已经更改了我的应用程序的连接字符串,将"安全"包含在如上所述的连接字符串中,通过此操作,我可以成功访问Azure SQL数据库,而不会像以前那样出现任何问题。

如果我们用"secure.windows.net"配置我们的连接字符串,那么就不需要担心连接字符串会被暴露吗?

如果仍然需要加密我到Azure SQL数据库的连接字符串,那么我该如何实现呢?

如何加密(可能是RSA?)?

在尝试加密的过程中,我对RSA加密有所了解,但还不够。

我想知道的最重要的一件事是,如果我使用RSA容器或makecert.exe(证书)进行了加密,我如何将RSA容器或证书导出到Azure SQL数据库(Azure SQL server),以便Azure SQL数据库可以解密加密的连接字符串,以允许客户端应用程序访问?

p.S)根据Microsoft Azure的官方文件,Azure不支持DPAPI和RSA,我们必须使用另一个受保护的配置提供程序,如PKCS12 ProtectedConfigurationProvider。

因为我的专业与软件无关,而是与生物化学有关,请详细解释!

非常感谢!

您可以使用受保护的部分,

Configuration config = 
  ConfigurationManager.OpenExeConfiguration(
  ConfigurationUserLevel.None);
ConfigurationSection section = 
  config.GetSection("connectionStrings");
if (!section.SectionInformation.IsProtected)
{
    section.SectionInformation.ProtectSection();
}
section.SectionInformation.ForceSave =true;
config.Save(ConfigurationSaveMode.Modified);

我在安装程序、构建或应用程序启动中都会这样做,这取决于容易程度。

请参阅此处https://msdn.microsoft.com/en-us/library/ms254494(v=vs.110).aspx获取更多详细信息。

安全。url只是表示连接在ssl隧道内,因此数据是加密传输的。

经过近1个月的努力,我终于成功地加密了连接字符串并连接到Azure SQL数据库。我们可以通过PKCS12ProtectedConfigurationProvider加密并连接到Azure,而不是DPAPI,RSA ProtectedConfigurationProvider。还有一些微软过期的旧博客,但TechNet(微软)的链接仍然可用。http://social.technet.microsoft.com/wiki/contents/articles/2951.windows-azure-sql-database-connection-security.aspx#_Download_and_Compile

我们需要通过NUGET正确安装PKCS12提供程序,并且在制作新的云服务的过程中需要在新的Azure门户上安装证书。

我希望我的困难经历能帮助那些必须解决像我这样的问题的人。

谢谢!

相关内容

  • 没有找到相关文章

最新更新