C# / WPF / SQL - 如何加密将部署到远程云的 WCF web.config 中的连接字符串
C# / WPF / SQL - How to encrypt connectionstring in web.config of WCF which will be deployed to remote Cloud
我的软件架构师是,
WPF(Windows 桌面应用程序)- WCF 中间件(在远程云端)- 云端SQL 服务器(SQL 数据库)
如果我在我的开发机器(计算机)上通过 DPAPI 在 web.config 中加密连接字符串(到云 SQL 数据库),那么当部署 WCF 时,DPAPI 的密钥似乎无效到远程云。
因此,我认为我需要使用RSA的方式进行加密,以将密钥导出到将要部署WCF的远程云端。
因为我的专业不是软件相关的,只是生物化学,所以我很担心我的想法是否正确..
有人能帮我看看我的想法是否正确,如果正确,请告诉我如何导出密钥(如果尽可能详细,将不胜感激..)
根据您的理解,我通过 RSA 和 DPAPI 进行了加密,但都失败了(当我没有导出密钥时)分别超过最大密钥 128 字节和密钥无效。
非常感谢!
经过将近 1 个月的努力,我终于成功加密连接字符串并连接到 Azure SQL 数据库。我们可以通过 PKCS12ProtectedConfigurationProvider 加密并连接到 Azure,而不是 DPAPI,RSA ProtectedConfigurationProvider。还有一些微软过期的旧博客,但 TechNet(Microsoft) 的 link 仍然可用。 http://social.technet.microsoft.com/wiki/contents/articles/2951.windows-azure-sql-database-connection-security.aspx#_Download_and_Compile
并且我们在制作新的云服务的过程中需要通过NUGET正确安装PKCS12 provider并且需要在New Azure Portal上安装证书。
我希望我的困难经历能帮助那些必须解决像我这样的问题的人。
谢谢!
我的软件架构师是,
WPF(Windows 桌面应用程序)- WCF 中间件(在远程云端)- 云端SQL 服务器(SQL 数据库)
如果我在我的开发机器(计算机)上通过 DPAPI 在 web.config 中加密连接字符串(到云 SQL 数据库),那么当部署 WCF 时,DPAPI 的密钥似乎无效到远程云。 因此,我认为我需要使用RSA的方式进行加密,以将密钥导出到将要部署WCF的远程云端。
因为我的专业不是软件相关的,只是生物化学,所以我很担心我的想法是否正确..
有人能帮我看看我的想法是否正确,如果正确,请告诉我如何导出密钥(如果尽可能详细,将不胜感激..)
根据您的理解,我通过 RSA 和 DPAPI 进行了加密,但都失败了(当我没有导出密钥时)分别超过最大密钥 128 字节和密钥无效。
非常感谢!
经过将近 1 个月的努力,我终于成功加密连接字符串并连接到 Azure SQL 数据库。我们可以通过 PKCS12ProtectedConfigurationProvider 加密并连接到 Azure,而不是 DPAPI,RSA ProtectedConfigurationProvider。还有一些微软过期的旧博客,但 TechNet(Microsoft) 的 link 仍然可用。 http://social.technet.microsoft.com/wiki/contents/articles/2951.windows-azure-sql-database-connection-security.aspx#_Download_and_Compile
并且我们在制作新的云服务的过程中需要通过NUGET正确安装PKCS12 provider并且需要在New Azure Portal上安装证书。
我希望我的困难经历能帮助那些必须解决像我这样的问题的人。
谢谢!