相关疑难解决方法(0)

RSA_private_加密总是失败

我正在学习在我的程序中使用 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);
}
Run Code Online (Sandbox Code Playgroud)

这总是失败,这是我在 ERR_error_string 中遇到的错误。

error:04066076:lib(4):func(102):reason(118)
Run Code Online (Sandbox Code Playgroud)

c openssl rsa

2
推荐指数
1
解决办法
5925
查看次数

标签 统计

c ×1

openssl ×1

rsa ×1