iOS学习之屏蔽SSL认证

坚持 成长 每日一篇

对于NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9814)网络加载错误!的其中一个原因就是请求需要ssl认证,就是要安装ssl证书,如果你的应用不需要ssl认证加密可以通过添加下面的代码屏蔽掉ssl认证。

参考资料:http://stackoverflow.com/questions/3766755/ignoring-certificate-errors-with-nsurlconnection/3766796#3766796

Code
只要在每一个Request的NSURLConnectionDelegate的一个回调方法添加如下代码。建议写一个NSURLConnection的子类封装一下

- (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{

    if([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust])
    {
        SecTrustRef trust = challenge.protectionSpace.serverTrust;
        NSURLCredential *cred;
        cred = [NSURLCredential credentialForTrust:trust];
        [challenge.sender useCredential:cred forAuthenticationChallenge:challenge];
        return;
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值