HTTPS协议笔记

苹果要求所有ios应用,网络通讯都要使用https协议,虽然不理解苹果为什么要这么干,那就跟着升级呗!

1.http协议的问题

    https协议说白了就是安全的http协议。那它怎么保证网络通讯的安全呢?

    先来看下http协议和https协议的区别,就传输层多了一个ssl层。

协议比较

SSL层为http协议的安全漏洞提供的解决方案。SSL技术有景网通讯公司开发,具体SSL层干了哪些事情,请参考:SSL原理

http的问题及解决办法

1. 加密

https协议采用混合加密方式,即共享加密和公开密钥加密。共享密钥只有一把密钥,密钥丢失,加密就没有意义了,但是优点是速度快。公开密钥加密是非对称加密:分公钥和私钥,通过公钥加密的数据只能通过私钥才能解密,通过私钥加密的数据,通过公钥也能解密。公钥是公开的。详细的加密原理请参考:非对称加密 混合加密的优点是既保证了安全,又在一定程度上提高了速度。

2.认证

认证过程比较复杂,简单的讲,就和支付宝在网购的过程中的作用相似,甲乙两人想做生意,但又彼此不信任,就找来了大家都信任的支付宝。这样甲乙就建立的信任关系。具体服务端和客户端的通信过程。看下图:

https认证图

3. 完整性

应用层发送数据是会附加一种叫做MAC的报文摘要,MAC能够查知报文是否遭到篡改。从而保护报文的完整性

使用HTTPS协议会使通信变慢吗?

会的,肯定会的,1. 加密解密会耗费CPU的资源。2.在通信是建立SSL会话也需要时间。会比HTTP慢2-100倍。

ios应用升级https后开发工程师需要改动那些东西呢?

信任服务器即可。

使用NSURLConnection.


NSURLConnection认证

使用AFN

认证证书即可

不对的地方,欢迎指正!谢谢

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容