CURL组建中,HTTPS使用ip地址连接时候,SSL安全验证方法!

本文介绍了在iOS开发中,由于苹果要求所有HTTP连接必须使用HTTPS。当使用IP地址代替域名进行HTTPS连接时,会遇到SSL安全证书校验失败的问题。通过在curl组件中设置SSL_CTX_FUNCTION并在初始化时修改HOST参数为实际绑定域名,可以解决这个问题,从而避免DNS劫持影响连接。
摘要由CSDN通过智能技术生成

1.背景

1.苹果最近调整了HTTP连接的思路,要求iOS开发代码中所有的http连接都必须使用,https安全连接方式。

2.在实现HTTP服务中,会有种VIP的保障逻辑。在域名解析失败(DNS劫持是其中一种情况)而无法连接时候,会内置ip地址,保证在最坏的情况下,可以连通服务。

那么问题来了,HTTPS直接使用HOST为ip地址的时候,是无法正确使用SSL校验安全证书的,因为证书和域名绑定。

2.环境

curl组件c实现库,iOS开发工程

3.方案

实现方式只是在现有curl组件实现的,http逻辑逻辑基础上补充。具体完整curl实现http请求逻辑,待补充。

原理:通过IP直接访问网站,解决DNS劫持问题。DNS劫持中,对于HTTPS请求,有SSL校验安全证书的过程,这个时候HOST参数对应的域名是被绑定到证书上,进行安全校验,而IP是无法通过校验的。这个时候只有在SSL校验之前修改HOST参数为实际绑定的域名,才能完成SSL安全校验。这个时候就涉及到CURL组件里面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值