如何使用PEM_Write_RSA_PrivateKey加密和写入RSA私钥到文件

时间:2015-12-09 08:44:36

标签: c++ c openssl

功能:

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,但我发现输出文件中的上下文没有加密。

1 个答案:

答案 0 :(得分:1)

显然,因为您将密码设置为NULL,您将无法获得任何加密。

使用类似的内容:

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

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

不要忘记用类似的东西初始化OpenSSL库 OpenSSL_add_all_algorithms()