美文网首页
iOS HTTPS双向认证,app需要做什么

iOS HTTPS双向认证,app需要做什么

作者: 浅浅_e90e | 来源:发表于2020-11-11 09:44 被阅读0次

最近项目接入https双向认证,除了需要服务器部署,app端也需要做一些设置,记录一下过程:

1、将服务器端给的crt证书转成cer格式证书,转换方法:

打开终端cd到crt证书所在的地址,假如crt证书的名字叫ABC,要转成cer的名字假如也叫ABC,输入下面的命令行回车就可以了:

openssl x509 -in ABC.crt -out ABC.cer -outform der

2、将cer证书拖拽到项目工程里

3、拿AFNetworking设置举例,需要做如下设置:

以下代码放在 AFHTTPSessionManager *session = [AFHTTPSessionManager   manager]; 的后面

// /先导入证书,可导入多个证书,如需导入多个证书,则导入多个证书路径然后转成data后加入set集合中

    NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"ABC" ofType:@"cer"];

    NSData*certData = [NSData dataWithContentsOfFile:cerPath];

AFSecurityPolicy *securityPolicy = [AFSecurityPolicy   policyWithPinningMode:AFSSLPinningModeCertificate];

securityPolicy.allowInvalidCertificates = YES;

securityPolicy.validatesDomainName = NO;

securityPolicy.pinnedCertificates= [[NSSet alloc] initWithObjects:certData,...,nil];

session.securityPolicy = securityPolicy;

4、info.plist的设置

这两个选项互斥,一个设置为YES,另一个则需设置为NO,如下设置:

allow arbitrary loads 设置为no,代表了当前应用程序只允许https的请求方式,关闭所有http的请求方式

allow arbitrary loads in web content 是如果项目中有加载h5页面的,页面如果出现图片无法正常显示,需要设置下面的为yes

白名单设置:

如果程序中有部分功能需要用到http请求方式,需要单独设置白名单,开启这些白名单的项目可使用http方式请求网络,同样放在App Transport Security Settings下面,与上图两个设置并列排放

https白名单设置

大致需要做这些设置,个人理解有些东西可能不到位,解释的有问题的话,欢迎指正,谢谢!

相关文章

  • iOS HTTPS双向认证,app需要做什么

    最近项目接入https双向认证,除了需要服务器部署,app端也需要做一些设置,记录一下过程: 1、将服务器端给的c...

  • iOS HTTPS 双向认证

    iOS HTTPS 双向认证 @(iOS)[网络,HTTPS] 搞了半天,记录一下,坑很多。双向认证,就是在访问网...

  • iOS https 双向认证

    /** 一.非浏览器应用(iOS app)与服务器AFNetworking HTTPS ssl认证 虽然是HTTP...

  • iOS HTTPS双向认证

    一般情况下对于HTTPS,如果公司申请认证之后,客户端是不需要做什么操作。但是如果是自建证书,没有通过CA认证的话...

  • iOS中的安全与加密

    iOS中的安全与加密 一。HTTPS双向认证 Charles是大家所熟悉的抓包工具,如果网络请求未经过双向认证,那...

  • iOS中的HTTPS认证

    一、HTTPS认证 1. 会话认证机制 iOS 中会话认证机制共有四种,大体分为两种类型: 单向认证双向认证; N...

  • Android 项目https网络请求封装及遇到的一些问题

    因为最近ios需要用到https,所以公司的项目都从http的请求转成了https的双向认证,这里我关于安卓端ht...

  • https双向认证

    一、运行环境 win7_64studio3.1.3IDEA2017.3JDK1.8Sprint Boot 2.0....

  • HTTPS双向认证

    双向认证,顾名思义,客户端和服务器端都需要验证对方的身份,在建立HTTPS连接的过程中,握手的流程比单向认证多了几...

  • iOS 中使用自签名证书实现 HTTPS 双向认证

    最近项目中,需要使用自签名的 HTTPS 证书实现双向认证。网上的资料很多,但是存在各种各样的问题,与 iOS 版...

网友评论

      本文标题:iOS HTTPS双向认证,app需要做什么

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