【IOS网络】ATS的小总结

1、xcode7之后对网络传输做了一些要求,传输要使用https。那么如何解决呢?

首先服务器要申请CA证书,当然即使申请了也必须是TLS1.2之后的TLS:HTTPhttp+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);
        
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值