我正在学习在我的程序中使用 OpenSSL 库。在代码中,我生成了一个私钥,并立即使用该密钥对消息进行加密。但总是失败。请帮助我。
private_key = RSA_generate_key(RSA_KEY_LENGTH, RSA_3, NULL, NULL);
if (RSA_check_key(private_key) < 1) {
printf("generate_key: key generation failed\n");
exit(-1);
}
unsigned char msg[25];
unsigned char cipher[128];
strcpy((char*)msg, "hello");
int ret = RSA_private_encrypt(25, msg, cipher, private_key,
RSA_PKCS1_OAEP_PADDING);
if (ret < 0) {
printf("encryption in key generation failed\n");
printf ("%s\n", ERR_error_string (ERR_get_error (), (char *) cipher));
exit (-1);
}
这总是失败,这是我在使用 ERR_error_string 时遇到的错误。
error:04066076:lib(4):func(102):reason(118)