我正在使用RSA_public_encrypt函数将加密数据发送到套接字。我正在使用“pkey = PEM_read_PUBKEY(f,NULL,NULL,NULL);”从.PEM文件中读取公钥。功能。 从上面的函数检索的'pkey'是EVP_PKEY *类型,我不能在函数RSA_public_encrypt中使用它。 (RSA_public_encrypt使用RSA *类型密钥)
如何将EVP_PKEY * pkey转换为RSA * rsa?
答案 0 :(得分:1)
使用RSA *EVP_PKEY_get1_RSA(EVP_PKEY *pkey)
从EVP_PKEY获取RSA类型密钥。
示例:
EVP_PKEY *evp;
RSA *pubkey
evp = ...; /* some way to get the public key */
pubkey = EVP_PKEY_get1_RSA(evp);
if (pubkey == NULL) {
/* error handling */
}