如何使用PEM_write_RSA_PrivateKey加密RSA私钥并将其写入文件

How to encrypt and write RSA private key to file with PEM_Write_RSA_PrivateKey

本文关键字:RSA 文件 加密 PEM 何使用 write PrivateKey 私钥      更新时间:2023-10-16

函数:

int PEM_write_RSAPrivateKey(FILE *fp, RSA *x, const EVP_CIPHER *enc,
                                        unsigned char *kstr, int klen,
                                        pem_password_cb *cb, void *u);

我调用函数的方式:

PEM_write_RSAPrivateKey(pFile, pRSA,NULL,0,NULL,NULL,(void*)passphrase);

在openssl的文档中,它说最后一个参数是passphrase,但我发现输出文件中的上下文没有加密

显然,因为将密码设置为NULL,所以不会得到任何加密。

选择类似的内容:

PEM_write_RSAPrivateKey(pFile,pRSA,EVP_des_ede3_cbc(),passphrase, passphraseLength,NULL,NULL);

当然,可以随意更改密码,更好的选择是使用AES-128-CBC,但这取决于您的具体目标和性能要求。

不要忘记初始化OpenSSL库OpenSSL_add_all_algorithms()