如何使用 PEM_Write_RSA_PrivateKey 加密 RSA 私钥并将其写入文件
How to encrypt and write RSA private key to file with PEM_Write_RSA_PrivateKey
函数:
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,但是我发现输出文件中的context没有加密。
显然,因为您将密码设置为 NULL,所以您不会获得任何加密。
选择类似的东西:
PEM_write_RSAPrivateKey(pFile,pRSA,EVP_des_ede3_cbc(),passphrase, passphraseLength,NULL,NULL);
当然可以随意更改密码,更好的选择是使用 AES-128-CBC,但这取决于您的特定目标和性能要求。
不要忘记用类似的东西初始化 OpenSSL 库
OpenSSL_add_all_algorithms()
函数:
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,但是我发现输出文件中的context没有加密。
显然,因为您将密码设置为 NULL,所以您不会获得任何加密。
选择类似的东西:
PEM_write_RSAPrivateKey(pFile,pRSA,EVP_des_ede3_cbc(),passphrase, passphraseLength,NULL,NULL);
当然可以随意更改密码,更好的选择是使用 AES-128-CBC,但这取决于您的特定目标和性能要求。
不要忘记用类似的东西初始化 OpenSSL 库
OpenSSL_add_all_algorithms()