【发布时间】:2011-12-12 06:32:42
【问题描述】:
在给定 API 模数和指数的情况下尝试生成 RSA 公钥。我在 iOS 4.2 上使用 OpenSSL。
手动生成公钥是一个选项(见下文),但我不确定如何在模数中包含指数逻辑
-----BEGIN PUBLIC KEY-----
Modulus from API
-----END PUBLIC KEY-----
基于@James cmets,我可以编写公共 pem 但得到空白私钥。这是我的代码:
char szModulus = "1162" ;
char *szExp = "827655" ;
RSA* rsa = RSA_new();
int ret = BN_hex2bn(&rsa->n,szModulus) ;
ret = BN_hex2bn(&rsa->d,szExp) ;
FILE *fp = fopen("/Users/ysi/Desktop/privateKey.pem", "wb");
PEM_write_RSAPrivateKey(fp, rsa, NULL, NULL, 0, 0, NULL);
【问题讨论】:
-
"... 但是获取空白私钥..." -
RSA *可以用作公钥和私钥。您只向RSA *提供了公钥部分。私钥部分不会从公钥部分神奇地出现。如果你能做到这一点,那么大多数(全部?)整数分解密码学 (IFC) 都会崩溃。
标签: objective-c encryption openssl rsa