我的软件的体系结构是
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隧道内,因此数据是加密传输的。
我们需要通过NUGET正确安装PKCS12提供程序,并且在制作新的云服务的过程中需要在新的Azure门户上安装证书。
我希望我的困难经历能帮助那些必须解决像我这样的问题的人。
谢谢!