iOS 用AFN与后台双向https证书验证
来源:互联网 发布:jquery能储存数据不 编辑:程序博客网 时间:2024/06/05 11:03
iOS常规的https单向验证不需要客户端做处理,但是客户端与服务端双向验证则需要客户端注入证书再请求。
1.先将pem证书安装至钥匙串,然后到处cer格式的证书
2.将cer证书拖入项目中
3.在AFN请求时注入证书
+ (AFSecurityPolicy*)customSecurityPolicy { // /先导入证书 NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"xxxxx ofType:@"cer"];//证书的路径 NSData *certData = [NSData dataWithContentsOfFile:cerPath]; // 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 = [NSSet setWithObject:certData]; return securityPolicy;}
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];[manager setSecurityPolicy:[self customSecurityPolicy]];
其余不需要其他设置,在实际请求中只用调用这一行代码即可。
0 0
- iOS 用AFN与后台双向https证书验证
- ios AFNetworking https 双向证书验证实现
- AFN HTTPS 双向认证这是传客户端证书
- Https双向验证证书:Android+OpenSSL
- iOS开发 - 用AFNetworking实现https单向验证,双向验证
- iOS之支持https与ssl双向验证
- HTTPS AFN 验证
- iOS https 证书双向认证 Afnetworking
- ssl https双向验证的配置与证书库的生成
- iOS封装HTTPS双向和单向验证
- nginx配置ssl双向验证 nginx https ssl证书配
- iOS https请求 忽略证书验证
- iOS开发-https免证书验证
- iOS中https的证书验证
- iOS中HTTPS证书验证浅析
- Https双向证书申请
- TLS/HTTPS 证书生成与验证
- OpenSSL创建客户端、服务器证书,ios双向https认证
- android studio- Gridview学习实践
- RabbitMQ的Java应用(1) -- Rabbit Java Client使用
- 关于EJB异步调用遇到的问题解决
- phpstrom 软件内运行php文件 phpstrom 中 run 的使用
- Java反射机制——Class类的介绍(二)
- iOS 用AFN与后台双向https证书验证
- libjpeg使用
- C#的Enum——枚举
- JAVA并发容器代码随读
- VS2013+opencv2.4.9+cuda6.5+matlabr2014a+配置caffe
- 解决用jquery load加载页面到div时,不执行页面js的问题
- Android studio报:Caused by: java.lang.ClassNotFoundException: Didn't find class "xhs.com.view.ParentV
- Java 获取绝对路径与相对路径
- Paint House