代码改变世界

AFNetworking验证https证书

2017-10-24 19:35  dengchaojie_learner  阅读(609)  评论(0编辑  收藏  举报

 

AFSecurityPolicy.m文件,做如下添加

 

+ (instancetype)defaultPolicy {

    AFSecurityPolicy *securityPolicy = [[self alloc] init];

    // 设置校验证书(服务器证书)

    NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"xxx" ofType:@"cer"];

    NSData * cerData = [NSData dataWithContentsOfFile:cerPath];

    securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate withPinnedCertificates:[[NSSet allocinitWithObjects:cerData, nil]];

    return securityPolicy;

}

http://www.jianshu.com/p/e727fc5d08ea

 

iOS客户端校验https网络请求证书

http://www.charlesproxy.com/getssl/,获取并安装证书。注意,1 手机连接的WiFi,要配置代理;2 电脑上Charles要运行;

http://blog.csdn.net/u011604049/article/details/52869824

我说一下我们的需求,我们要求使用指定的CA证书进行校验不能使用系统的校验,系统的校验可自行百度,他校验证书的信任列表。但是如果我使用fiddler 进行抓取https,让fiddler自己生成一个自签名的证书,然后把这个证书装到客户端信任列表,那么fiddler就能获取https请求数据,因为系统的校验证书是可以校验通过的,所以我们要禁止这种截获数据,因此有了自定义校验证书

浅谈HTTPS以及Fiddler抓取HTTPS协议

http://www.jianshu.com/p/54dd21c50f21