【IOS网络】ATS的小总结
2015-12-02 21:57
561 查看
1、xcode7之后对网络传输做了一些要求,传输要使用https。那么如何解决呢?
首先服务器要申请CA证书,当然即使申请了也必须是TLS1.2之后的TLS:HTTP是http+SSL的意思,现在不是用SSL,改用TLS了。服务器根据CA证书,可以设置私钥,根据私钥可以生成公钥。当app向服务器发送请求的时候,先请求服务器的公钥。
客户端用公钥给对称加密中用到的密钥进行加密之后返回给服务器。服务器用私钥解密之后可以得到密钥。然后服务器用密钥给客户端请求的数据加密之后返回
给客户端。
然后客户端和服务器就可以使用密钥给数据加密之后进行网络传输了。其实这里RSA的主要作用是给对称加密中的密钥加密。
在项目
中如何使用ATS:
#pragma mark - NSURLSessionTaskDelegate
//接受服务器的挑战,信任服务器
- (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential * _Nullable))completionHandler {
if (challenge.protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust) {
NSURLCredential *credential = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust];
completionHandler(0,credential);
}
}
相关文章推荐
- 检测网络状态
- socket通讯原理以及tcp、ip三次握手机制学习
- Http中的get和post的区别
- javaSE(22)(网络编程)
- Xcode 7 支持http请求info.plist设置
- HTTP请求协议 get post方法 获取数据解析
- 为什么指向的是最后一个节点的下一个节点 http://www.zhihu.com/question/20638791
- android网络文字数据的传输
- HTTP相关知识
- android网络编程(一)
- 看图学网络 二 网络边缘部分的应用体系结构
- HTTP状态码
- 网络协议学习笔记-数据链路层-MTU、路径MTU和串行线路吞吐量计算
- 暂停更新,请到http://www.52brt.com上关注最新文章
- 看图学网络 一 网络的组成
- TCP/IP详解学习笔记(2)-- 数据链路层
- socket与http的区别
- HTTP Modules versus ASP.NET MVC Action Filters
- iOS UIImageView 网络加载图片自适应大小问题
- HTTP Analyzer过滤器使用