使用Moya庫,進(jìn)行https證書校驗(yàn)

查了很多網(wǎng)上的文章,對(duì)moya的https證書校驗(yàn)基本都是略,要么就是16/17年的代碼,但是運(yùn)行的時(shí)候找到證書,轉(zhuǎn)data格式的時(shí)候報(bào)錯(cuò),崩潰;
Alamofire 5.0之后,對(duì)于ssl證書認(rèn)證相關(guān)代碼有修改。
pod 'Moya/RxSwift', '~> 14.0'
不費(fèi)話,下面直接看代碼吧,希望對(duì)你們有幫助;

//MARK: 設(shè)置ssl
let session : Session = {
   //證書數(shù)據(jù)
   func certificate() -> SecCertificate? {
       let filePath = Bundle.main.path(forResource: "存在Xcode中證書的文件名", ofType: "cer")
       if filePath == nil {
           return nil
       }
       let data = try! Data(contentsOf: URL(fileURLWithPath: filePath ?? ""))
       let certificate = SecCertificateCreateWithData(nil, data as CFData)!
       return certificate
   }
   
   guard let certificate = certificate() else {
       return Session()
   }
   
   let trusPolicy = PinnedCertificatesTrustEvaluator(certificates: [certificate], acceptSelfSignedCertificates: false, performDefaultValidation: true, validateHost: true)
   let trustManager = ServerTrustManager(evaluators: ["你證書的域名,比如www.baidu.com或者baidu.com" : trusPolicy])
   let configuration = URLSessionConfiguration.af.default
   return Session(configuration: configuration, serverTrustManager: trustManager)
}()
//把session當(dāng)參數(shù)傳進(jìn)去就行了
let kProvider = MoyaProvider<HXNetworkAPI>(endpointClosure: myEndpointClosure, requestClosure: requestClosure, session: session, plugins: [networkActivityPlugin], trackInflights: false)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 原文來自烏云 隨著安全的普及,https通信應(yīng)用越發(fā)廣泛,但是由于對(duì)https不熟悉導(dǎo)致開發(fā)人員頻繁錯(cuò)誤的使用ht...
    常胖閱讀 2,749評(píng)論 1 18
  • 海芬/文 乘飛吉祥云 瀏覽天無窮 俯視蒼茫地 笑看凡間榮 中曼飛彩虹 欲望瑤池中
    海語天籟閱讀 536評(píng)論 1 2
  • 今天早上遲到了,睡的很沉,仿佛進(jìn)入了某種境界,聽不到鬧鐘的聲音,好吧,就是早起不成功 今天好像沒做什么工作,沒有平...
    七個(gè)偶遇人閱讀 178評(píng)論 0 0
  • 一個(gè)果農(nóng)也好,一個(gè)園丁也好,能夠耐心地給自己的果樹,給自己的植物除草澆灌,施肥滅蟲,不僅僅是因?yàn)槟托?,還因?yàn)槠诖?..
    清風(fēng)徐來_徐麗麗閱讀 199評(píng)論 0 2
  • 在第一環(huán)節(jié)中,我起先不知怎么做,我的焦點(diǎn)在別人身上了,不在自己身上。司文老師在我身邊時(shí),我又很想引起她的注意,可偏...
    多多少少7閱讀 202評(píng)論 0 0

友情鏈接更多精彩內(nèi)容