1

我正在使用 .net 4、mvc4 和实体框架开发我的第一个 .net 项目。该项目是一个 iOS 应用程序的 api。

不幸的是,其中一项要求是项目以 zip 文件的形式交付,连接字符串已预先加密。使用 aspnet_regiis 这将是直接的,除了我无权访问服务器,不允许在第一次运行时进行密钥交换和加密对于客户端也是不可接受的。但是,我可以在应用程序中打包我喜欢的任何 dll。

我已经向客户指出,这只会给人一种安全的错觉,因为我必须在应用程序中打包解密代码,但无济于事。

所以现在我想弄清楚如何以最简单最直接的方式预加密 web.config 中的连接字符串。我已经在这里和通过 google 进行了搜索,虽然我相信我需要创建一个自定义提供程序并使用 aspnet_regiis 进行加密,但我非常感谢社区的指导。

4

1 回答 1

0

终于把这个弄糊涂了。这可能不是问题的最佳答案,但效果很好。

关键确实是构建一个自定义受保护的配置提供程序。按照此处找到的 MS 的步骤。

完成后,我使用 aspnet_regiis 加密了 web.config 的连接字符串部分。这给了我客户需要的密码文本。

最困难的部分是找出 keyFilePath= 的正确路径

完成后,我将 Keys.txt 文件与应用程序打包在一起(请记住始终在解决方案资源管理器的文件属性中选择复制)。添加了对我的自定义提供程序的引用(再次始终在解决方案资源管理器的引用部分中复制)并且 Bob 是你的叔叔。

希望这对其他人有帮助。

于 2013-07-11T18:16:39.757 回答