TI C Ошибка доверия SSL / сбой загрузки NSURLSession / NSURLConnection HTTP (kCFStreamErrorDomainSSL, -9813) - PullRequest
0 голосов
/ 07 января 2020

Hai Я пытаюсь отправить данные квитанции на наш собственный сервер с помощью Alamofire. Но при отправке я получаю TI C Ошибка доверия SSL. Это говорит о том, что You might be connecting to the server that can put your confidential information in risk. Как это преодолеть? Я искал некоторые сайты. Они сказали добавить код

defaultManager = {
              let serverTrustPolicies: [String: ServerTrustPolicy] = [
                  opcodeIpPort : .disableEvaluation
              ]
            let configure = URLSessionConfiguration.background(withIdentifier: Bundle.main.bundleIdentifier!)
                              // session1=URLSession(configuration: .default, delegate: applicationDelegate.application, delegateQueue: OperationQueue.main)
            session1=URLSession.shared
            configure.httpAdditionalHeaders = Alamofire.SessionManager.defaultHTTPHeaders

              return Alamofire.SessionManager(
                  configuration: configure,
                  serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
              )
          }()

Так что я использовал тогда defaultManager.reuqest Когда я использую этот код, я получаю любые исключения, но была другая проблема, которую я не смог отправить любые другие запросы. Код, который я использую для отправки данных квитанции:

    {
        applicationDelegate.application=self
        let defaults = UserDefaults.standard
        var requestData:NSData!
         let receiptPath = Bundle.main.appStoreReceiptURL?.path
         if FileManager.default.fileExists(atPath: receiptPath!){
         var receiptData:NSData!
           do{
                receiptData = try NSData(contentsOf: Bundle.main.appStoreReceiptURL!, options: NSData.ReadingOptions.alwaysMapped)
            }
        catch{
                print("ERROR: " + error.localizedDescription)
             }
            let base64encodedReceipt = receiptData!.base64EncodedString(options: NSData.Base64EncodingOptions.endLineWithCarriageReturn) as! String
                 var postString = [ "receiptData": base64encodedReceipt,
                                     "subscriberId": defaults.array(forKey: "userDetails")?.first as! String,
                                      "password": defaults.array(forKey: "userDetails")?.last as! String,
                                       "productId":productId,
                                         "code":opcodeDetails["opCode"]!,
                                        "deviceType":"IOS"
                                ] as [String : Any] as [String : Any]
             let URLForApplication:String = String(format:"%@/api/validate-receipt-data",opcodeDetails["apiProxyBaseUrl"]!)
                        Alamofire.request(URLForApplication, method: .post, parameters: postString, encoding: URLEncoding.default).responseJSON
                        { response in
                            let data=response.data!
                               do
                               {
                               let redableJson=try JSONSerialization.jsonObject(with: data, options: .allowFragments) as! [String:Any]

                              let responses=redableJson["response"] as! Dictionary<String,Any>
                              print(responses)
                               }
                               catch{

                               }
                         }
    }
    }

Я добавил Arbitaryloads в файл Info.plist. Пожалуйста, кто-нибудь, помогите мне исправить это. Спасибо заранее.

...