如何使用 OpenSSL EVP 例程进行 RSA public 密钥加密?
How to do RSA public key encryption using OpenSSL EVP routines?
我正在使用 EVP high-level functions in OpenSSL。我还没有在网上找到任何示例来展示如何使用这些函数(例如 EVP_EncryptInit_ex()
、EVP_EncryptUpdate()
、EVP_EncryptFinal_ex()
)来使用 RSA public 密钥加密数据。具体来说,我没有看到匹配 RSA 的 EVP_CIPHER
类型,类似于您在 AES 中看到的类型:const EVP_CIPHER *EVP_aes_128_cbc(void);
in evp.h
。我认为需要一个用于 RSA 的初始化 EVP 以使用该方法进行加密。
任何人都可以帮助我了解如何使用 RSA 现有密钥通过 OpenSSL 的 EVP 例程加密数据吗?例子会非常有帮助。
要进行非对称加密,您需要使用与对称加密不同的 EVP 例程。特别是参见 EVP_PKEY_encrypt() 函数。手册页在这里,它包含一个示例。
https://www.openssl.org/docs/man1.1.0/crypto/EVP_PKEY_encrypt.html
我正在使用 EVP high-level functions in OpenSSL。我还没有在网上找到任何示例来展示如何使用这些函数(例如 EVP_EncryptInit_ex()
、EVP_EncryptUpdate()
、EVP_EncryptFinal_ex()
)来使用 RSA public 密钥加密数据。具体来说,我没有看到匹配 RSA 的 EVP_CIPHER
类型,类似于您在 AES 中看到的类型:const EVP_CIPHER *EVP_aes_128_cbc(void);
in evp.h
。我认为需要一个用于 RSA 的初始化 EVP 以使用该方法进行加密。
任何人都可以帮助我了解如何使用 RSA 现有密钥通过 OpenSSL 的 EVP 例程加密数据吗?例子会非常有帮助。
要进行非对称加密,您需要使用与对称加密不同的 EVP 例程。特别是参见 EVP_PKEY_encrypt() 函数。手册页在这里,它包含一个示例。
https://www.openssl.org/docs/man1.1.0/crypto/EVP_PKEY_encrypt.html