1

我想分发许可证密钥,客户场所的应用程序需要对其进行解码。

我正在考虑给他私钥,以便应用程序可以解码并为自己保留公钥,以便加密许可证文件。

现在,n00b 的问题是:如果我只给他私钥并保持公钥非常非常安全,他可以创建可以通过私钥解密的许可证文件吗?

我知道我在这里似乎把一切都放在了头上,但我希望你能明白为什么。

4

3 回答 3

4

不,他不能。

钥匙成对制作;一个被称为“公共”,另一个被称为“私人”,但这是一个任意选择。我认为您以一种奇怪的方式使用这些术语(从客户的角度来看,密钥是“公共的”和“私人的”),但该方案是安全的。

于 2010-11-26T03:28:46.930 回答
3

私钥是您保持安全的东西。公钥被分发给公众......因此名称,私有和公共。

任何用其中一个密钥加密的东西都只能被另一个密钥解码,这就是公钥加密的重点。在这种情况下,您将使用私钥对许可证密钥文件进行编码,然后用户可以使用公钥对其进行解密。当然,任何拥有公钥副本的人也可以解密许可证文件,但这是另一个问题。

从功能上讲,这两个键之间没有区别。哪个是公开的,哪个是私有的完全是任意的。永远不要透露您决定的任何密钥的内容是私有密钥。

于 2010-11-26T03:26:28.727 回答
0

这个答案迟了将近一年,但我恰好遇到了这个问题。

如果您不介意许可证密钥文件是可读的(毕竟,客户有解密它的密钥),而不是加密文件,为什么不直接对它进行数字签名呢?

您将使用您保持安全的私钥签署文件,并使用客户获得副本的公钥验证应用程序中的签名。在不破坏签名的情况下无法修改许可证密钥文件。

于 2011-11-03T05:03:36.983 回答