ios – 使用安全框架在Objective-C中以编程方式创建x509证书

ios – 使用安全框架在Objective-C中以编程方式创建x509证书,第1张

概述我正在努力寻找一种方法,使用安全框架编程方式(自签名)在Objective-C中创建x509证书.我没有在我的项目中使用OpenSSL.所以我不能考虑使用OpenSSL.以下是我已经创建的一些内容: >创建RSA密钥对.使用 – (void)generateKeyPairPlease函数每Apple’s docs >使用ios-csr(https://github.com/ateska/ios- 我正在努力寻找一种方法,使用安全框架以编程方式(自签名)在Objective-C中创建x509证书.我没有在我的项目中使用OpenSSL.所以我不能考虑使用OpenSSL.以下是我已经创建的一些内容:

>创建RSA密钥对.使用 – (voID)generateKeyPairPlease函数每Apple’s docs
>使用ios-csr(https://github.com/ateska/ios-csr)创建CSR.请参阅以下代码

SCCSR *sccsr = [[SCCSR alloc]init];sccsr.commonname = @"some name";sccsr.organizationname = @"some organisation";NSData *certificateRequest = [sccsr build:pPublicKey privateKey:privateKey];Nsstring *str = [certificateRequest base64EncodedStringWithOptions:NSDataBase64EnCoding64CharacterlineLength];Nsstring *strCertificateRequest = @"-----BEGIN CERTIFICATE REQUEST-----\n";strCertificateRequest = [strCertificateRequest stringByAppendingString:str];strCertificateRequest = [strCertificateRequest stringByAppendingString:@"\n-----END CERTIFICATE REQUEST-----\n"];

>现在我需要创建X509证书(自签名).我使用下面的代码.

// Convert to Base64 dataNSData *base64Data = [certificateRequest base64EncodedDataWithOptions:0];SecCertificateRef cer = SecCertificateCreateWithData ( NulL,(__brIDge CFDataRef) base64Data);NSLog(@"%@",cer);

> cer似乎是NulL.SecCertificateCreateWithData需要“按照the documentation”的“X.509证书的D DER(可分辨编码规则)表示”.

我的方法是否正确?重申:我有一个RSA密钥对(公钥和私钥),成功生成了CSR(证书签名请求).现在我需要以编程方式生成X509证书.

我使用的是6.2(6C131e)和iOS SDK 8.2.

解决方法 我认为实际上不可能使用安全框架. AFAICT,在iOS / OSX上执行此 *** 作的唯一方法是使用(已弃用的)CDSA库或(已弃用的)OpenSSL库.

在https://github.com/snej/MYCrypto有一个库可以做到这一点,但是它使用了一些(已弃用的)CDSA / CSSA调用,并且依赖于很多同一作者的实用程序/库函数,我发现它们没有用.

我建议您在BUGreporter.apple.com上提交一个错误来表达您希望能够生成x.509证书.我有!

编辑:MYCrypto作者(snej)还有一个简化版本MYAnonymousIDentity,它采用预先创建的x.509自签名证书,并使用最少的SDK调用将新的RSA密钥/签名注入现有证书.它还使用了他的一些实用程序/库的东西,但是我已经为我自己的项目删除了所有这些,你可以找到修改后的代码,我用来生成预先安装的证书的脚本(以及包含所有内容的头文件)修改补偿):https://github.com/Hammerspoon/hammerspoon/tree/master/extensions/httpserver

总结

以上是内存溢出为你收集整理的ios – 使用安全框架在Objective-C中以编程方式创建x509证书全部内容,希望文章能够帮你解决ios – 使用安全框架在Objective-C中以编程方式创建x509证书所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1044970.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存