如何使用OpenSSL EVP例程进行RSA公钥加密?

时间:2018-04-04 14:13:43

标签: c++ c encryption openssl rsa

我正在使用EVP high-level functions in OpenSSL。我没有在网上找到任何示例,说明如何使用这些功能(例如EVP_EncryptInit_ex()EVP_EncryptUpdate()EVP_EncryptFinal_ex())来使用RSA公钥加密数据。具体来说,我没有看到匹配RSA的EVP_CIPHER类型,类似于您在AES const EVP_CIPHER *EVP_aes_128_cbc(void);中看到的类似evp.h的内容。我认为RSA需要使用该方法初始化EVP以进行加密。

任何人都可以帮助我了解如何使用RSA现有密钥使用OpenSSL的EVP例程加密数据吗?例子非常有帮助。

1 个答案:

答案 0 :(得分:4)

要进行非对称加密,您需要使用与对称加密不同的EVP例程。特别是参见EVP_PKEY_encrypt()函数。手册页在这里,它包含一个示例。

https://www.openssl.org/docs/man1.1.0/crypto/EVP_PKEY_encrypt.html