0

我想将 RSA 1024 公私交换密钥对从 Machine-1 导出到 Machine-2。我在 XP 中使用 cryptoAPI。

在 Machine-1 中,我生成了密钥对。我包装了一个会话密钥,它实际上加密了一些真实数据。密钥容器名称是“PAIR1”。

在 Machine-2 中,我想用私钥(我在 Machine-1 中生成)解开会话密钥。为此,我想将密钥对从 Machine-1 导出到 Machine-2。

我知道导出持久密钥的安全漏洞。

我试过什么?

我从 Machine_1 将密钥对导出为 PKCS#12 -pfx 文件。当我将它导入到 Machine-2 时,密钥容器名称已从“PAIR1”变为空。我的应用程序需要相同的容器名称才能在交换密钥对中选择正确的私钥。是否可以更改密钥容器名称?

这行得通吗?

用 Machine-2 的公钥包装交换密钥对并将其导入 Machine-2。在这种情况下,您认为关键容器名称将保持不变还是会改变?我觉得这可能是正确的方法。

编辑: 我问这个查询的原因是因为我用交换密钥对(公钥)包装了一个会话密钥,并将包装的密钥与加密数据一起放在服务器的介质中。该媒体将绕过不同的客户端并返回到服务器。此时,我将使用解包的会话密钥解密我的数据。这种解包需要交换私钥。我这样做是为了演示目的,我不能指望我们的营销人员进行密钥交换等。我们希望向客户展示安全方面并减少与我们的营销人员进行设置的麻烦。

最后,我导出了密钥对并在我想要的任何地方导入了相同的密钥对,尽管 Ramsus 方法是正确的做法。

4

1 回答 1

1

正确的方法是在机器 2 上生成密钥对,仅导出公钥,将其传输到机器 1 并使用它来包装会话密钥。

您是如何导出和导入 PKCS#12 文件的?Windows 通常会在 PKCS#12 文件中添加密钥容器名称作为专有扩展名,因此它应该与密钥对的其余部分一起传输。

于 2009-11-26T08:00:17.157 回答