我需要在我的应用程序中嵌入私有 RSA 密钥。我的 RSA 密钥是根据产品序列号和选项生成的。示例 serial#1_opt1.private(此文件包含我想嵌入代码中的密钥) serial#1_opt1.public(如果用户(例如硬件经销商)需要访问受限功能,我将向他发送此文件以解锁特定选项) 每个客户需要/可能需要一组不同的密钥,具体取决于他被授权使用的选项。
我希望每个人都拥有我的应用程序中的一组标准功能(对硬件的基本控制)我的愿景是产品的标准功能集没有序列号,也没有嵌入式密钥。因此,所有受限制的功能都不会起作用,但所有标准的东西都会起作用。该程序将有一个版本号,但在 about/help 部分没有序列号
如果我需要启用受限功能[s],我使用 MSbuild 编译程序,并使用我在命令行上为该客户生成的序列号。MSBuild 将获取序列号并将其嵌入到我可以在我的代码中访问它的位置我希望它最终会出现在 properties.settings 文件中???并将其放在名为序列号的 var 中,默认情况下为空白。现在 MSBuild 已将序列号放在正确的位置,我现在希望它使用私钥 [s] 查找文件 serial#1_opt1.private 并将其/它们放在某个地方?我可以在哪里访问它们......但希望不是很容易找到它们的地方。当我的应用程序运行时,我使用私钥来加密“某物”,如果用户拥有带有公钥的文件[s],他可以解密该“某物”,这将允许他使用该特定选项。如果他拥有所有选项的所有公钥文件,那么他可以对硬件做任何我能做的事情......因为把它搞砸了,它必须返回工厂重新校准。有人可以告诉我这是否是正确的方法吗?如果不是,那么正确的方法是什么?如果是这样,我怎样才能让 MSBuild 完成这些技巧?