美文网首页ios相关文章
iOS---服务器配置了https,客户端要怎么做?

iOS---服务器配置了https,客户端要怎么做?

作者: ray_1942 | 来源:发表于2017-12-23 16:17 被阅读62次

服务器配置了ssl证书,iOS客户端要做什么呢?
用AFN啥都不用配也可以正常使用🤔
--------------------------下面是之前写的,划清界限--------------------------
具体操作步骤如下:
1.别方,
2.搞事情。

(1)证书来源有多种,想和服务器端促进一下感情的话可以和服务器端人员要各种证书相关文件,我们的服务器端给出的是pem文件,
这个是可以直接安装的证书。双击之后,效果如下:

双击后

(2).钥匙串选项我选择了系统,选择哪个都一样,点击添加。
在钥匙串访问里搜索服务器的域名即可找到刚刚安装的证书,如图:

安装证书

(3).右键证书导出cer文件
将cer文件拖进(复制)项目中,并在Build Phases->Copy Bundle Resources中添加文件。
(4).在项目添加相应代码

//配置基地址 很关键 没这句啥都干不了
AFHTTPSessionManager *httpManager = [[AFHTTPSessionManager manager] initWithBaseURL:[NSURL URLWithString:urlStr]];

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

        NSData *cerData = [NSData dataWithContentsOfFile:cerPath];

        NSSet *cerSet = [NSSet setWithObjects:cerData, nil];
// AFSSLPinningModeCertificate 使用证书验证模式
        AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
 // allowInvalidCertificates 是否允许无效证书(也就是自建的证书),默认为NO
 // 如果是需要验证自建证书,需要设置为YES
        securityPolicy.allowInvalidCertificates = YES;
 //validatesDomainName 是否需要验证域名,默认为YES;
    //假如证书的域名与你请求的域名不一致,需把该项设置为NO;如设成NO的话,即服务器使用其他可信任机构颁发的证书,也可以建立连接,这个非常危险,建议打开。
    //置为NO,主要用于这种情况:客户端请求的是子域名,而证书上的是另外一个域名。因为SSL证书上的域名是独立的,假如证书上注册的域名是www.google.com,那么mail.google.com是无法验证通过的;当然,有钱可以注册通配符的域名*.google.com,但这个还是比较贵的。
    //如置为NO,建议自己添加对应域名的校验逻辑。
        securityPolicy.validatesDomainName = NO;

        securityPolicy.pinnedCertificates = cerSet;

        [manager setSecurityPolicy:securityPolicy];

这样就配置完就可以喽。

前面说了证书来源,这里有第二种方式获取证书。
在浏览器中打开服务器地址,如果是safari如图:

点击🔒

打开链接后,点击🔒图标,弹出如图窗口,显示证书->直接拖拽证书图标至桌面即可使用。
chrome获取证书,打开链接->右键网页内容->检查,如图:


检查

security->view certificate->拖拽图标至桌面即可使用。

相关文章

  • iOS---服务器配置了https,客户端要怎么做?

    服务器配置了ssl证书,iOS客户端要做什么呢?用AFN啥都不用配也可以正常使用?----------------...

  • Git | 基本操作

    基本操作 常用命令 服务器搭建环境准备 服务器与客户端配置 服务器配置 客户端配置

  • 项目中网络层如何做安全处理?

    尽量使用https https可以过滤掉大部分的安全问题。https在证书申请,服务器配置,性能优化,客户端配置上...

  • Git客户端安装+使用

    连接github服务器或者企业版的服务器https://github.com 需要配置本地git客户端, 1、安装...

  • 网络安全处理

    1、尽量使用https https可以过滤掉大部分的安全问题。https在证书申请,服务器配置,性能优化,客户端配...

  • 项目中网络层如何做安全处理?

    1、尽量使用https https可以过滤掉大部分的安全问题。https在证书申请,服务器配置,性能优化,客户端配...

  • 网络层的安全处理

    1、尽量使用https https可以过滤掉大部分的安全问题。https在证书申请,服务器配置,性能优化,客户端配...

  • NGINX单双向混合认证

    本文介绍通过NGINX配置实现WEB服务器单双向混合认证: 实现HTTPS服务器证书认证 对于一般网络客户端,强制...

  • 基于CAS实现单点登录(四)

    现在我们可以进行CAS客户端的配置了。 第一步 客户端配置,就是我们针对每个应用服务器的配置,添加...

  • NAT网络地址映射

    怎么做到服务器客户端互连? NAT 网络地址映射

网友评论

  • 梁森的简书:客户端不配置证书也是完全可以使用的对吧?

本文标题:iOS---服务器配置了https,客户端要怎么做?

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