NSURLConnection怎么把http改为https
来源:互联网 发布:自定义表单数据库设计 编辑:程序博客网 时间:2024/05/22 00:40
一直使用NSURLConnection请求HTTP接口,现在为了安全性的考虑打算使用HTTPS。
那么怎么修改呢?
1.不需要证书验证 ps:我们使用的就是这种
1.1 直接修改HTTP为HTTPS;
1.2 确认有 "Security.framework"
1.3 修改完成,可以直接请求了。
2.需要证书验证
其他的和1是一样的,只不过需要加下面方法.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
- (
void
)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{
static
CFArrayRef certs;
if
(!certs) {
NSData*certData =[NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@
"srca"
ofType:@
"cer"
]];
SecCertificateRef rootcert =SecCertificateCreateWithData(kCFAllocatorDefault,CFBridgingRetain(certData));
const
void
*array[
1
] = { rootcert };
certs = CFArrayCreate(NULL, array,
1
, &kCFTypeArrayCallBacks);
CFRelease(rootcert);
// for completeness, really does not matter
}
SecTrustRef trust = [[challenge protectionSpace] serverTrust];
int
err;
SecTrustResultType trustResult =
0
;
err = SecTrustSetAnchorCertificates(trust, certs);
if
(err == noErr) {
err = SecTrustEvaluate(trust,&trustResult);
}
CFRelease(trust);
BOOL trusted = (err == noErr) && ((trustResult == kSecTrustResultProceed)||(trustResult == kSecTrustResultConfirm) || (trustResult == kSecTrustResultUnspecified));
if
(trusted) {
[challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];
}
else
{
[challenge.sender cancelAuthenticationChallenge:challenge];
}
}
0 0
- NSURLConnection怎么把http改为https
- NT_iOS笔记—NSURLConnection怎么把http改为https
- iOS笔记—NSURLConnection怎么把http改为https
- 把Tomcat的http改为https的步骤、方法
- 在Nginx中,怎么把http全转发为https
- 怎么把pdf首页改为其他页面
- 将CAS https认证的方式改为http
- 将CAS 单点登录协议由https改为http
- 将CAS的HTTPS认证方式改为HTTP
- Xcode升级之后Http协议改为Https协议
- 【SSO-CAS】将CAS https认证的方式改为http
- 怎么把提交按扭改为用图片来代替
- 怎么把提交按扭改为用图片来代替
- WCF发布,怎么把电脑名改为IP地址
- Matlab R2015b怎么把界面改为中文/英文
- Photoshop中怎么把白色背景改为黑色背景
- 网络:NSURLConnection 使用 HTTPS
- 使用nginx把 http 向https升级
- C++基础---string类的clear/erase/pop_back
- Windows上编译最新的CURL,含有zlib,openssl
- Servlet监听器在开发中的应用案例
- HDU 1181 变形课(dfs)
- ```**1到100之内的所有素数**
- NSURLConnection怎么把http改为https
- xmu 1018 零零漆的作
- epoll源码实现分析[整理]
- mysql索引详解(转)
- js获取表单值的两种方法
- HDU5424Rikka with Graph II(哈密顿图判断)
- Linux下nc的参数详解
- 惠普体验
- 求n!中含有某个因子个数的方法