0

我需要验证设置文件的完整性。该文件是一个 xml 文档。我知道您可以使用此 stackoverflow 帖子中讨论的现成功能。但是,我无法理解如何保护签名密钥。如果我签署一个 xml 文件以作为对其内容的完整性检查,用户可以轻松地反汇编我的可执行文件并获取密钥和/或生成密钥的方式。我有哪些方法可以轻松保护密钥?密钥容器似乎是一种选择,但我看不出它们如何保护密钥和/或用于生成所述密钥的方法。

谢谢!

4

1 回答 1

0

当您将密钥加载到容器中时,您可以指定它是不可导出的。这将有助于保护它,但无论如何您仍然需要将文件存储在某个地方,以防万一,例如,您有一台新计算机。

顺便说一句,我确实提到将其标记为不可导出将有助于保护它,而不是保证它的保护。仍然可以提取不可导出的密钥。

唯一可靠的方法是确保没有人可以物理访问计算机。物理访问意味着您可以做任何事情。

在您的情况下,这意味着私钥必须位于安全的地方,因为它是您的数字签名。验证签名的公钥已加载到您的程序中。是否反编译您的代码并提取公钥并不重要,因为它可以用来验证某些内容是否由您的私钥签名。

如果有人不厌其烦地反编译您的代码以规避设置文件的验证,他们只会更改您的代码以跳过验证。

于 2012-07-05T00:10:45.310 回答