简单的总结一个公式:https=http + ssl/tls
ssl/tls是介于传输层与应用层之间的协议。它通过“握手协议”和“传输协议”来解决传输安全的问题。也就是在握手建立连接的过程中采用非对称加密,建立连接后会产生一个对话秘钥,从而在第二阶段,也就是传输过程中用这个对话秘钥来完成对称加密传输(私钥加密为对称加密,即有一个秘钥K使明文与密文之间互换。公钥加密为非对称加密,其加密的秘钥可公开,但是解密的秘钥只有接收密文方才知道)
https自笔记上图为ssl/tsl运行过程
在iOS开发中网络请求目前主流都采用AF 它也是在Nsurlsession的基础上的强大封装,那涉及到https的部分其实就是上图第三阶段需要在session的会话级别的回调代理方法中进行证书的认证处理。
AF中支持https相关的类为AFSecurityPolicy,相关代码可以看源码。这里就不贴了。
https自笔记这里是关于数字签名的知识。
以上是我看了https资料自己的总结,很潦草。以后有更细致研究的再补充。
参考的是TIME_for的文章,写的很好,大家也可以看一下,由于是用手机一字一字打得,就不方便贴链接,需要的自行搜索!
网友评论