2009-11-25 200 views
0

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

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

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

我知道导出持久性键的安全缺陷。

我试过了什么?

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

这项工作?

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

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

最后,我输出了密钥对并将其输入到了我想要的地方,尽管Ramsus方法是正确的。

回答

1

right这样做的方法是在machine-2上生成密钥对,只导出公钥,传送给machine-1并用它来包装会话密钥。

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

+0

仅将私钥保存在一台机器上。如果您打算导出私钥然后使用对称加密 – Patrick 2009-11-26 10:23:01

+0

@Ramsus - 我使用KeyPal实用工具将现有交换密钥对导出到PKCS#12文件。但是,当我重新导入pfx文件时,关键容器名称已经消失。密钥对值保持不变。这就是为什么我问我如何更改容器名称的原因? @Patrick - 我这样做是为了演示这种肮脏方式的功能和架构。 – Raj 2009-11-26 17:14:05