美文网首页
iOS Https证书

iOS Https证书

作者: luxing123 | 来源:发表于2017-09-21 19:08 被阅读0次

HTTP + 加密 + 认证 + 完整性保护 = HTTPS
HTTPS就是将HTTP协议数据包放到SSL/TSL层加密后,在TCP/IP层组成IP数据报去传输,以此保证传输数据的安全;而对于接收端,在SSL/TSL将接收的数据包解密之后,将数据传给HTTP协议层,就是普通的HTTP数据。HTTP和SSL/TSL都处于OSI模型的应用层。

HTTPS并不是一种新协议,只是HTTP通信接口部分使用SSL和TLS协议代替而已。通常HTTP直接和TCP通信,当使用SSL时,就演变成先和SSL通信,再由SSL和TCP通信了
1.准备证书

我们需要的是.cer的证书。但是后台可能给我们的是.crt的证书。我们需要转换一下:打开终端 -> cd到.crt证书路径 -> 输入openssl x509 -in 你的证书.crt -out 你的证书.cer -outform der,证书就准备好了,拖入工程。

2.创建方法

//支持https

+ (AFSecurityPolicy *)customSecurityPolicy
{

//先导入证书,找到证书的路径

NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"你的证书名字" 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;

NSSet *set = [[NSSet alloc] initWithObjects:certData, nil];

securityPolicy.pinnedCertificates = set;

return securityPolicy;

}

3.打开ATS(默认是开启的,手动屏蔽了的记得开启)

NO:表示开启了 (默认)
YES:表示屏蔽了ATS

WX20170921-190719.png

相关文章

  • ios Https证书

    苹果要求2017年App都要支持Https,这个使用第三方的AFNetworking 和Alamofire支持Ht...

  • iOS Https证书

    HTTP + 加密 + 认证 + 完整性保护 = HTTPSHTTPS就是将HTTP协议数据包放到SSL/TSL层...

  • 【技术文章收集】提升

    GPUImage详细解析(十二)Sobel边界检测 https iOS 中 HTTPS 证书验证浅析 iOS 升级...

  • iOS HttpS证书问题

    1.AFNetworking配置Https AFSecurityPolicy *policy = [AFSecur...

  • iOS https证书验证

    因为苹果审核原因项目需要添加证书验证,下面写下实现过程 1.拿到服务器颁布的证书,cer证书。我们服务器用的是腾讯...

  • iOS配置HTTPS证书

    iOS配置HTTPS

  • IOS开发证书变成“此证书的签发者无效”解决方法

    IOS开发证书变成“此证书的签发者无效”解决方法 IOS开发证书全部变成无效,如下图 解决方法: 下载https:...

  • ios证书申请和AppStore上线详细流程

    1、注册ios帐号 此处省略... 2、进入ios开发者中心 申请证书【如果有证书跳过该环节】 ++https:/...

  • fiddler

    ios安装证书后仍然无法使用https 设置-通用-关于本机,受信任证书开启

  • HTTPS

    iOS客户端校验https网络请求证书 iOS开发 支持https请求以及https请求的抓包 NSURLConn...

网友评论

      本文标题:iOS Https证书

      本文链接:https://www.haomeiwen.com/subject/zcytextx.html