我想提供一个简单的,未加密的xml文件作为我桌面应用程序的配置文件(winforms,.NET 4.0,C#)。但是,我想确保应用程序使用的任何配置文件都来自我。为此,我正在考虑Xml Signing,这似乎很符合我的要求。
我唯一剩下的问题是:我应该如何在我的应用程序中存储公钥以执行配置文件的验证?将它嵌入应用程序是我的猜测,但究竟应该如何做以防止有人用反编译器打开二进制文件并用他/她自己替换我的密钥?
我不是在寻找任何超级安全的东西,因为我知道无论如何我无法100%确定它。
答案 0 :(得分:0)
就像我在评论中所说的那样,没有100%保证您的应用程序免于反编译的简单方法,但您可以使用Dotfuscator
等工具来模糊您的应用程序答案 1 :(得分:0)
我会使用Windows证书库来存储任何密钥 http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509store.aspx 和Windows Data Protection API在程序执行时将其存储在内存中。 https://en.wikipedia.org/wiki/Data_Protection_API http://msdn.microsoft.com/en-us/library/system.security.cryptography.protecteddata.aspx