美文网首页
关于HTTPS的iOS应该做的事

关于HTTPS的iOS应该做的事

作者: 奔波儿灞与灞波儿奔 | 来源:发表于2017-01-05 10:57 被阅读46次

    苹果官方最新消息:原定于2017.1.1强制的https被延期了,但是具体到什么时候不确定,等官方通知:

    官方通知

    但是https我们势在必行,那么真正需要我们做的到底是什么呢?一般分为两种情况:

    1.如果我们用的是付费的公信机构颁发的证书,标准的https,那么无论我们的客户端用的是AFN或者原生的NSUrlSession,我们什么都不用做,代理方法也不用实现,网络请求就能正常完成。

    2.如果我们用的是自签名的证书:

        * 首先需要在plist文件中,设置可以返回不安全的请求(关闭该域名的ATS)。

        * 其次,如果我们使用的是NSUrlSession,那么需要我们在代理方法实现:

    如果是AFN,则需要设置policy:

    把证书倒进工程之后在AFN里设置

    总结一下https的验证流程:

    就是用户发起请求,服务器响应后返回一个证书,证书中包含一些基本信息和公钥。

    用户拿到证书后,去验证这个证书是否合法,不合法,则请求终止。

    合法则生成一个随机数,作为对称加密的密钥,用服务器返回的公钥对这个随机数加密。然后返回给服务器。

    服务器拿到加密后的随机数,利用私钥解密,然后再用解密后的随机数(对称密钥),把需要返回的数据加密,加密完成后数据传输给用户。

    最后用户拿到加密的数据,用一开始的那个随机数(对称密钥),进行数据解密。整个过程完成。

    相关文章

      网友评论

          本文标题:关于HTTPS的iOS应该做的事

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