Objective c OpenSSL RSA密钥对,采用C或Obj-C中的X509和PKCS#8编码
我已经挣扎了好几天了,在互联网上找不到任何准确的例子/教程,所以现在我在这里寻求帮助 我有一个创建RSA密钥对的Java应用程序。此密钥对用于加密和解密对称密钥。(但首先要测试,我想使用一个简单的文本字符串)。生成密钥对后,对密钥进行编码Objective c OpenSSL RSA密钥对,采用C或Obj-C中的X509和PKCS#8编码,objective-c,c,openssl,x509,pkcs#8,Objective C,C,Openssl,X509,Pkcs#8,我已经挣扎了好几天了,在互联网上找不到任何准确的例子/教程,所以现在我在这里寻求帮助 我有一个创建RSA密钥对的Java应用程序。此密钥对用于加密和解密对称密钥。(但首先要测试,我想使用一个简单的文本字符串)。生成密钥对后,对密钥进行编码 PublicKey publicKey = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(pbKey)); 及 现在我正在iOS上创建一个应用程序。我想在iOS(C或O
PublicKey publicKey = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(pbKey));
及
现在我正在iOS上创建一个应用程序。我想在iOS(C或Objective-C)中使用OpenSSL做同样的事情
有人能帮我吗
我正在创建这样的关键点
RSA_generate_key_ex(rsa, modulus, e, NULL);
基本上,这里有一个PKCS#8编码的私钥(ks)。即未加工ASN.1 我假设你写下这个原始的,编码的(,) 假设rsa已填充;而“enc”是
const EVP_CIPHER *enc=NULL;
或者更有可能
const EVP_CIPHER *enc=EVP_aes_XXX_cbc();
其中XXX大约是128位,您可以使用以下内容调用PEM_write_bio_RSAPrivateKey:
PW_CB_DATA cb_data;
cb_data.password = passout;
cb_data.prompt_info = outfile;
BIO_set_fp(out,stdout,BIO_NOCLOSE);
if (!PEM_write_bio_RSAPrivateKey(out,rsa,enc,NULL,0,
(pem_password_cb *)password_callback,&cb_data))
goto err;
大概就是这样。可以从任何openssl源代码发行版的apps/genrsa.c中提取代码
PW_CB_DATA cb_data;
cb_data.password = passout;
cb_data.prompt_info = outfile;
BIO_set_fp(out,stdout,BIO_NOCLOSE);
if (!PEM_write_bio_RSAPrivateKey(out,rsa,enc,NULL,0,
(pem_password_cb *)password_callback,&cb_data))
goto err;