iOS中https的网络请求的配置
来源:互联网 发布:英制锥螺纹编程实例 编辑:程序博客网 时间:2024/05/17 22:13
一.HTTPS概括
点击阅读更多iOS开发技能
HTTPS: HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。
HTTP与HTTPS的比较
CA证书的介绍 点击阅读
二.HTTPS的实质
- 信任主机的问题.
采用https 的server(服务器) 必须从CA 申请一个用于证明服务器用途类型的证书. 所以目前所有的银行系统网站,关键部分应用都是https 的. 客户通过信任该证书,从而信任了该主机. 其实这样做效率很低,但是银行更侧重安全. 这一点对我们没有任何意义,我们的server ,采用的证书不管自己issue(问题) 还是从公众的地方issue, 客户端都是自己人,所以我们也就肯定信任该server. - 通讯过程中的数据的泄密和被窜改
一般意义上的https, 就是 server 有一个证书,主要目的是保证server是目标服务器,服务端和客户端之间的所有通讯,都是加密的。
三.iOS开发中如果实现https的请求
我推荐一篇写的比较好的iOS中如果配置https请求的方式
我推荐一篇写的比较好的iOS中如果配置https请求的方式
我推荐一篇写的比较好的iOS中如果配置https请求的方式
接下来这3句话很重要
3. 具体讲,是客户端产生一个对称的密钥,通过server 的证书来交换密钥. 一般意义上的握手过程.
3. https所有的信息往来就都是加密的. 第三方即使截获,也没有任何意义.因为他没有密钥(钥匙串)
- (记住这里)少许对客户端有要求的情况下,会要求客户端也必须有一个证书.【这里客户端证书,其实就类似表示个人信息的时候,除了用户名/密码, 还有一个CA 认证过的身份. 这样能够更安全的确认自己的身份。比如少数个人银的具体证书可能是拿U盘作为一个备份的载体.这里的U盾就是CA 验证过的身份】
**接下来作为拓展可以不做了解
HTTPS 的实现
1.http协议,一个get(获取)一个response(返回). 由于https 要还密钥和确认加密算法的需要.单握手就需要6/7 个往返.过多的round trip(巡回) 肯定影响性能.
2.具体的http协议,每一次响应或者请求, 都要求客户端和服务端对会话的内容做加密/解密.尽管对称加密/解密效率比较高,可是仍然要消耗过多的CPU,为此有专门的SSL 芯片. 如果CPU 信能比较低的话,肯定会降低性能,从而不能serve 更多的请求.加密后数据量的影响. 所以,才会出现那么多的安全认证提示。
补充附录:
说道安全机制 不得不说说钥匙串(密钥=密码钥匙)
公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。
通过算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。(比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功)
一把私有的钥匙,仅有用户才拥有。
一把公开的钥匙,可公开发行配送,只要有要求即取得。
点击阅读更多iOS开发技能
小龙哥的技术博客
- iOS中https的网络请求的配置
- iOS中发起https的网络请求
- iOS基于Https的网络请求
- iOS 开发 https问题使用AFN进行网络请求时做的一些配置
- iOS https网络请求
- iOS中webView的post请求去访问https
- Mac如何抓取ios中http、https请求的包
- iOS开发中网络请求的基础知识
- iOS http转换https网络访问的配置
- IOS 安全网络请求--HTTPS
- IOS的网络请求
- iOS 网络的请求
- iOS9----HTTPS 进行网络请求的解决方案
- iOS AFNetworking 配置Https请求
- iOS客户端校验https网络请求证书
- iOS 网络请求设置https连接方式
- Java中请求HTTPS加密的源代码
- Java中请求HTTPS加密的源代码
- 推荐系统面临的挑战及发展趋势
- poj-2756-Autumn is a Genius
- 87_retrofit的使用
- hdu-3981-字符串替换
- 常用类
- iOS中https的网络请求的配置
- Activity四种启动模式
- Matlab应用于BP神经网络与GUI,以及一点自己的看法
- properties
- 88_View绘制流程
- Session 'MainActivity': Error Launching activity
- 线程的相关概念
- 89_事件分发机制
- java并发编程(8)--volatile