2010-09-29 77 views
4

我创建使用RSA密钥:如何在OpenSSL/libcrypto中导出公钥?

RSA_generate_key(2048, RSA_F4, NULL, NULL); 

现在我要导出的公钥给另一方B.现在,我刚刚memcpy'd整个RSA *结构和发送的过连线,B可以使用它来使用RSA_public_encrypt()进行加密。

但我认为在这种情况下,我已经导出了整个公钥/私钥对,而不仅仅是公钥。我只想导出RSA密钥的公共组件。我如何使用OpenSSL API来做到这一点?

感谢

+0

实际上,看起来像只是在通过网络发送时,RSA *结构不起作用。我甚至尝试调用RSAPublicKey_dup(),然后将由它返回的RSA *发送给B.但是在任何一种情况下,当B尝试使用此公钥加密时,它会给我一个访问冲突(可能是因为BIGNUM *指针包含在RSA *结构都指向B中内存中的无效位置)。 所以我只想总结一下我的问题:我如何做一个简单的RSA公钥导出给另一方,以便我可以开始做一些有趣的事情,比如密钥交换? – mindthief 2010-09-29 05:12:29

回答