我正在尝试解决与How to encrypt data using RSA, with SHA-256 as hash function and MGF1 as mask generating function?完全相同的用例,但我需要更清楚一点。
上述查询是在2013年提出的。当时OpenSSL仅支持OAEP填充的SHA1哈希(硬编码)。在最新的OpenSSL(1.0.2k)中,我可以看到使用以下API解决了这个问题:
int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen,
const unsigned char *from, int flen,
const unsigned char *param, int plen,
const EVP_MD *md, const EVP_MD mgf1md)
RSA_public_encrypt()
不会将EVP_MD
结构作为参数我不知道如何指定它。
如何使用掩码生成功能在RSA_public_encrypt()
中调用SHA-256模式?