我正在尝试为我的软件构建更新程序。到目前为止,这不是一项艰巨的任务,但是我想签署文件以防止它们被黑客攻击和修改(因为它可以安装有害软件)以防止造成伤害。如何验证C#中数字签名的XML文档?
我在MSDN和各种博客上发现了一些教程,它们完美地展示了如何签名XML文件。得到这个工作 - 我有一个签名附加到我的文件。
某种程度上没有涉及的事情是:验证如何在不同的计算机上工作?我不明白我应该如何提供必要的数据来验证它。据我所知,我需要私钥才能验证签名(其中包含公钥)。现在我该如何提供那个?如果我只是将它存储在应用程序中,即使加密,也可以轻松抓取它。
我试过的另一种可能的方法是嵌入X509证书。我甚至有一些代码可以生成这样的代码,但是它总是会显示证书来自未知来源。
有没有提示用户安装证书的方式吗?或者更好的是没有安装任何东西?
到目前为止,我还没有发现任何事情。
因此,可以使用**验证用于验证XML文件的数据公钥吗?私钥只是用于签名,对吧? – SharpShade
是的,这是正确的。 –
嗯,那么我可能误解了不对称加密/签名的原理。这很好,那么我认为我可以轻松修改我已经拥有的代码:)谢谢! – SharpShade