zoukankan      html  css  js  c++  java
  • https验证证书的三个级别

    一、无条件信任证书

    1、

    func urlSession(_ session: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {

                if(challenge.protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust)

                {

                    print(challenge.protectionSpace.host) 

                    if(challenge.protectionSpace.host == "111.11.11.11")

                    {

                        let credential = URLCredential(trust: challenge.protectionSpace.serverTrust!)

                       completionHandler(URLSession.AuthChallengeDisposition.useCredential, credential)

                    }

                }

            }

    2、

    SecTrustSetAnchorCertificates(serverTrust, trustedCertList)

    completionHandler(NSURLSessionAuthChallengePerformDefaultHandling,nil);

    二、系统缺省验证:根据系统根证书验证证书链

    completionHandler(NSURLSessionAuthChallengePerformDefaultHandling,nil);

    三、证书强验证:根据本地保存的证书信息进行全面验证;

    https://stackoverflow.com/questions/19507207/how-do-i-accept-a-self-signed-ssl-certificate-using-ios-7s-nsurlsession-and-its/20314162?r=SearchResults#20314162
    https://www.jianshu.com/p/81eb390dc4c2
  • 相关阅读:
    LeetCode 226. Invert Binary Tree
    LeetCode 221. Maximal Square
    LeetCode 217. Contains Duplicate
    LeetCode 206. Reverse Linked List
    LeetCode 213. House Robber II
    LeetCode 198. House Robber
    LeetCode 188. Best Time to Buy and Sell Stock IV (stock problem)
    LeetCode 171. Excel Sheet Column Number
    LeetCode 169. Majority Element
    运维工程师常见面试题
  • 原文地址:https://www.cnblogs.com/feng9exe/p/10622651.html
Copyright © 2011-2022 走看看