大佬教程收集整理的这篇文章主要介绍了ios – 如何使SecPKCS12Import正确导入有效的p12文件,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
openssl> pkcs12 -export -in rsa.pem -inkey rsa.pem -out rsa.p12 -nocerts
>将P12文件读入iOS项目
NSString *path = [[NSBundle bundleForClass:[self class]] pathForresource:@"MyPrivateKey" ofType:@"p12"]; NSData *p12data = [NSData dataWithContentsOfFile:path]; if (![self getPrivateKeyRef]) RSAPrivateKey = getPrivateKeywithRawKey(p12data);
>导入P12私钥
SecKeyRef getPrivateKeywithRawKey(NSData *pfxkeydata) { NSMutableDictionary * options = [[[NSMutableDictionary alloc] init] autorelease]; // Set the public key query Dictionary //change to your .pfx password here [options setObject:@"Mypassword" forKey:(id)kSecImportExportPassphrase]; CFArrayRef items = CFArrayCreate(NULL,null); OSStatus securityError = SecPKCS12Import((CFDataRef) pfxkeydata,(CFDictionaryRef)options,&items); CFDictionaryRef identityDict = CFArrayGetValueATindex(items,0); SecIdentityRef identityApp = (SecIdentityRef)CFDictionaryGetValue(identityDict,kSecImportItemIdentity); //NSLog(@"%@",securityError); assert(securityError == noErr); SecKeyRef privateKeyRef; SecIdentityCopyPrivateKey(identityApp,&privateKeyRef); return privateKeyRef; }
认为没有错误(OSStatus值为0),但是items数组没有获取任何身份数据.我想知道如果我没有得到正确的p12文件格式由于OpenSSl使用错误.有没有人成功导入p12文件?我已经在这个问题上停留了几天,请给我建议,如果你有线索,谢谢!
休伯特
>将XML转换为PEM
外壳>编译XMLSpec2PEm.java
外壳> XMLSpec2PEM rsa.xml
将输出结果保存到rsa.pem
(借款here)
>将PEM转换为RSA私钥
OpenSSL的> rsa -in rsa.pem -out rsaPrivate.key
>生成认证请求
OpenSSL的> req -new -key rsaPrivate.key -out rsaCertReq.crt
(输入一些基本认证资料)
>请求认证的请求
OpenSSL的> x509 -req -days 3650 -in rsaCertReq.crt -signkey rsaPrivate.key -out rsaCert.crt
>将认证文件格式转换为DER(iOS可接受格式)
OpenSSL的> x509 -outform der -in rsaCert.crt -out rsaCert.der
>生成PKCS12私钥(iOS可接受格式)
OpenSSL的> pkcs12 -export -out rsaPrivate.pfx -inkey rsaPrivate.key -in rsaCert.crt
没有进一步的步骤,现在可以在iOS中使用步骤5和6中生成的文件!
OpenSSL指令的参考:
http://blogs.yaclife.com/?tag=ios%E3%80%80seckeyref%E3%80%80raw%E3%80%80key%E3%80%80rsa%E3%80%803des
以上是大佬教程为你收集整理的ios – 如何使SecPKCS12Import正确导入有效的p12文件全部内容,希望文章能够帮你解决ios – 如何使SecPKCS12Import正确导入有效的p12文件所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。