cocoa-touch – 在iOS应用中显示不受信任的证书信息

cocoa-touch – 在iOS应用中显示不受信任的证书信息,第1张

概述在我的iOS应用程序中,我正在尝试连接到具有不受信任证书的服务器. 我按照此url中指定的过程处理此情况: https://developer.apple.com/library/mac/documentation/cocoa/conceptual/urlloadingsystem/Articles/AuthenticationChallenges.html 这工作正常. 现在我有一个要求,我需要 在我的iOS应用程序中,我正在尝试连接到具有不受信任证书的服务器.

我按照此url中指定的过程处理此情况:

https://developer.apple.com/library/mac/documentation/cocoa/conceptual/urlloadingsystem/Articles/AuthenticationChallenges.html

这工作正常.

现在我有一个要求,我需要在其中显示与证书相关的详细信息,例如:

>姓名
>位置
>组织单位
>电子邮件地址
>在日期之前无效
>日期后无效
>签名算法

现在我有几个问题:

Q1.我如何获得以上入伍信息?是否有任何cocoa API提供相同的?

Q2.通常在Web浏览器中,它显示与该证书相关的所有详细信息.我们是否需要在iOS应用中遵循相同的行为?

请建议.

解决方法 Q1: https://stackoverflow.com/a/8903088/2957168应该完全回答你的问题.如果您需要其他解释,请发表评论.

Q2:这是您的决定 – 如果您的服务器运行自己的证书并且您希望以这种方式保留(如企业应用程序那样),只需验证证书SHA1或MD5是您期望的(这就是我们在应用).

这意味着你需要一个实现NSURLConnectionDelegate或NSURLConnectionDataDelegate的类(如果你想要数据的处理程序)

然后实现这个方法:

- (BOol)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace{    NSLOG(@"connection canAuthaenticateAgainstProtectionSpace");    if (![Certificates verifyProtectionSpace:protectionSpace]) { //this to verify your own certificate which is self signed.        NSLOG(@"Bad Certificate,canceling request");        [connection cancel];        self.ended = true;        return false;    }    return true;}- (voID)connection:(NSURLConnection *)connection dIDReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge{    NSLOG(@"connection dIDReceiveAuthenticationChallenge");    if ([Certificates verifyProtectionSpace:challenge.protectionSpace]) { //this is where you verify the certificates again - for non self-signed ones usually.        [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];    } else {        [challenge.sender performDefaultHandlingForAuthenticationChallenge:challenge];    }}
总结

以上是内存溢出为你收集整理的cocoa-touch – 在iOS应用中显示不受信任的证书信息全部内容,希望文章能够帮你解决cocoa-touch – 在iOS应用中显示不受信任的证书信息所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存