RSAPrivateKey openssl C++ ios

RSAPrivateKey openssl C++ ios

本文关键字:ios C++ openssl RSAPrivateKey      更新时间:2023-10-16

嗨,我在iOS应用程序中使用Openssl库,我可以编写公共pem,但得到了空白私钥。这是我的代码-

char szModulus = "1162" ; 
char *szExp = "827655" ; 
RSA rsa1 = RSA_new(); 
int ret = BN_hex2bn(&rsa1->n,szModulus) ; 
ret = BN_hex2bn(&rsa1->d,szExp) ; 
FILE *fp; fp = fopen("/Users/ysi/Desktop/privateKey.pem", "wb"); 
PEM_write_RSAPrivateKey(fp, rsa1, NULL, NULL, 0, 0, NULL).

我把模和指数作为一个参数。上面的代码没有给出任何错误或警告。请帮帮我。彭为什么一片空白。

感谢

您生成密钥了吗?在C中,RSA_new()不生成密钥,它只为密钥分配内存。但我不知道客观情况如何。

char szModulus = "1162" ; 
char *szExp = "827655" ; 
RSA* rsa1 = RSA_new(); 
/* added code */ 
BIGNUMBER* exp = BN_new();
BN_set_word(exp, 17);
RSA_generate_key_ex(rsa1, 1024, exp, NULL);
/* until here */
FILE *fp; fp = fopen("/Users/ysi/Desktop/privateKey.pem", "wb"); 
PEM_write_RSAPrivateKey(fp, rsa1, NULL, NULL, 0, 0, NULL).