我想知道的是在配置文件中加密连接字符串的明确方法。以下是我的问题:
使用机器级加密,访问我的服务器的任何人都不能编写一个小的 .Net 程序来读取连接字符串的内容吗?
如果我将我的应用程序部署到企业环境中的用户计算机,并且应用程序在配置文件中有连接字符串,我如何确保只有我的应用程序可以解密它?该场景在 ClickOnce 部署场景中特别有趣。我读过有人在发布服务器上存储未加密的配置,并在首次下载、安装和执行应用程序时在机器级别加密。这对我来说听起来很不对 - 连接字符串在电线上不受保护地压缩,并且在下载和应用程序执行之间的短时间内不受保护。
我可以拥有公钥和私钥,签署我的应用程序,使用密钥加密配置文件,并且当用户执行它时,只能从签名的应用程序中解密吗?
由于我使用的是 ClickOnce,我可以在代码中或嵌入我的加密敏感信息,因为除非版本 # 更改,否则 ClickOnce 不会检测到更改。因此,如果我在更改连接字符串时需要重新编译,则 app.config 的点将被静音。除了使用配置文件之外,我还可以采取哪些其他方法来保护服务器、客户端以及它们之间的连接字符串?