iOS 配置https

作者: 上冬十二 | 来源:发表于2017-08-31 14:37 被阅读437次

昨天试验了iOS 11 beta6 发现原有的https自建证书不能使用,可能是新版本要对ATS加强验证,之前一直说的要全面https估计在不久的将来就要来临,未接入的可能要像Apple说的不允许上架。所以把配置过程记录在此

要求

启用ATS必须符合以下标准,不满足条件的HTTPS证书,ATS都会拒绝链接:

  • 服务器所有的链接使用TLS1.2以上版本
  • HTTPS证书必须使用SHA 256以上哈希算法签名
  • HTTPS证书必须使用RAS 2048位或ECC 356位以上公钥算法
  • 使用前向加密技术

AFSecurityPolicy相关的配置

  • SSLPinningMode
    SSLPinningMode定义了https连接时,如何校验服务器端给予的证书

    typedef NS_ENUM(NSUInteger, AFSSLPinningMode){
    AFSSLPinningModeNone,
    AFSSLPinningModePublicKey,
    AFSSLPinningModeCertificate,
    };
    

    AFSSLPinningModeNone: 代表客户端无条件地信任服务器端返回的证书。

    AFSSLPinningModePublicKey: 代表客户端会将服务器端返回的证书与本地保存的证书中,PublicKey的部分进行校验;如果正确,才继续进行。

    AFSSLPinningModeCertificate: 代表客户端会将服务器端返回的证书和本地保存的证书中的所有内容,包括PublicKey和证书部分,全部进行校验;如果正确,才继续进行。

  • allowInvalidCertificates 是否支持自建证书默认NO 改为YES

  • validatesDomainName 是否进行域名验证 默认YES 改为NO

客户端配置

NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"UpopRsaCert" ofType:@"cer"];//证书的路径
NSData *certData = [NSData dataWithContentsOfFile:cerPath];
NSString *cerPath2 = [[NSBundle mainBundle] pathForResource:@"verify_sign_acp" ofType:@"cer"];//证书的路径
NSData *certData2 = [NSData dataWithContentsOfFile:cerPath2];
NSString *cerPath3 = [[NSBundle mainBundle] pathForResource:@"myWebsite" ofType:@"cer"];//证书的路径
NSData *certData3 = [NSData dataWithContentsOfFile:cerPath3];
NSSet *cerArray = [NSSet setWithObjects:certData,certData2,certData3, nil];
securityPolicy.pinnedCertificates = cerArray;
[httpManager setSecurityPolicy:securityPolicy];

附上我的博客链接:oragekk'Blog 欢迎留言-不过评论系统换成了disqus需要搭梯子哦

相关文章

  • iOS配置HTTPS证书

    iOS配置HTTPS

  • iOS配置HTTPS

    https://github.com/ChenYilong/iOS9AdaptationTips 配置方法 :ht...

  • iOS 配置https

    貌似在iOS9之后,官方默认只能访问https。如果访问的https都是安全的,则不需要做任何配置。 安全的htt...

  • iOS 配置https

    昨天试验了iOS 11 beta6 发现原有的https自建证书不能使用,可能是新版本要对ATS加强验证,之前一直...

  • iOS 配置HTTPS

    关于苹果2017年1月1日之后,要求App Store 商店所有的app 使用https 的计划虽已延迟,但尽早掌...

  • iOS配置HTTPS

    引言 所有iOS的开发者都应该知道,2016年以来苹果在不断地收紧对于HTTP网络连接的限制,强力推行全部使用HT...

  • iOS配置HTTPS

    申请一个SSL证书 这个是我们后台做的操作,然后发给我.cer格式的证书,放到mainbundle就好。 AFNe...

  • ios 中如何适配https

    iOS中http转https,及https请求抓包转ios中配置https记录

  • iOS开发 AFN配置https请求

    iOS开发 AFN配置https请求

  • iOS webview 配置 HTTPS

    这是在测试情况下,一般权威的HTTPS 移动端是不许呀做处理的

网友评论

    本文标题:iOS 配置https

    本文链接:https://www.haomeiwen.com/subject/qaeqjxtx.html