2010-09-29 80 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

回答