2010-04-10 95 views
4

我需要使用OpenSSL从RSA私钥中提取RSA公钥。从OpenSSL中的私钥中提取公钥

我正在使用RSAPublicKey_dup()传递RSA*私钥来获取公钥。但是,虽然调用似乎有效,但我无法使用openssl命令行工具加载(或使用)此公钥。

如果我使用命令行工具(“$ openssl rsa -in private.pem -pubout > public.pem”)生成公钥,我可以使用它,它的工作原理就像一个魅力。

你们知道我怎么能得到这份工作吗?也许另一个功能? OpenSSL文档很难浏览...

谢谢。

回答

2

我设法使用PEM_write_bio_RSA_PUBKEY()将此PEM数据写入内存缓冲区,然后使用PEM_read_bio_RSA_PUBKEY()获得新的RSA*

现在可以用来生成的公钥;)

+0

其错误,其结果仍然是一个私钥 – AbiusX 2012-01-20 16:35:13

+0

@AbiusX:你能解释一下?似乎到目前为止工作得很好。 – ereOn 2012-01-22 19:27:00

+0

我不记得我拉过的伎俩,要看我的版本历史 – AbiusX 2012-04-14 04:32:39