我使用以下方法创建了一个 RSA 密钥:
RSA_generate_key(2048, RSA_F4, NULL, NULL);
现在我想将公钥导出到另一方 B。现在,我刚刚存储了整个 RSA* 结构并通过网络发送,B 能够使用它来使用 RSA_public_encrypt() 进行加密。
但我认为在这种情况下,我实际上已经导出了整个公钥/私钥对,而不仅仅是公钥。我只想导出 RSA 密钥的公共部分。我如何使用 OpenSSL API 来做到这一点?
谢谢
我使用以下方法创建了一个 RSA 密钥:
RSA_generate_key(2048, RSA_F4, NULL, NULL);
现在我想将公钥导出到另一方 B。现在,我刚刚存储了整个 RSA* 结构并通过网络发送,B 能够使用它来使用 RSA_public_encrypt() 进行加密。
但我认为在这种情况下,我实际上已经导出了整个公钥/私钥对,而不仅仅是公钥。我只想导出 RSA 密钥的公共部分。我如何使用 OpenSSL API 来做到这一点?
谢谢
您可能需要函数d2i_RSAPublicKey
和i2d_RSAPublicKey
. i2d 将 RSA 密钥结构序列化为字节串,而 d2i 执行相反的操作。