菜鸟教程小白 发表于 2022-12-11 17:15:32

ios - 如何使用有效的 SSL 证书在 iOS 中使用 AFNetworking 进行 https 连接?


                                            <p><p>我正在尝试在我的 ios 应用程序中使用 Https。我有 SSL 证书,证书是由 CA 签名的,而不是自签名的。我一直在使用的网络库是 AFNetworking。如何实现我的 SSL 证书。任何人都可以帮助我执行以下步骤以及实现相同所需的代码。以下是我为发出请求而制作的方法的代码,在 AFHTTPRequestOperationManager 的子类中:</p>

<pre><code>func makeGetRequestToUrl (baseUrl : String , withParametersparams:    NSDictionary? , andCallback callback :ServiceResponse ){
       if !Utility.isNetworkAvailable() {
      SVProgressHUD.dismiss()
      Utility.showToastMessage(&#34;Please check your internet connection.&#34;, yOffset: Utility.alertOffset)
      return
    }
    self.responseSerializer = AFJSONResponseSerializer()
    self.GET(baseUrl, parameters: params, success: { (operation : AFHTTPRequestOperation!, responseObject : AnyObject!) in
      if ((responseObject[&#34;status&#34;] as? Int) ==   Utility.status.kFailure){
            if ((responseObject[&#34;json&#34;] as! NSDictionary)[&#34;errorCode&#34;] as! Int) == Utility.errorCodes.kSessionExpired{
                SVProgressHUD.dismiss()
                Utility.clearStoredUserDefaults()
                Utility.logout()
                Utility.showToastMessage(&#34;Session expired.Please sign in again.&#34;, yOffset: Utility.alertOffset)
            } else {
                callback(nil, responseObject);
            }
      } else {
            callback(nil, responseObject);
      }
    }) { (operation :AFHTTPRequestOperation! , error : NSError!) in
      SVProgressHUD.dismiss()
      Utility.showToastMessage(&#34;App is under maintainance.Please try after sometime.&#34;, yOffset: Utility.alertOffset)
    }
}
</code></pre>

<p>我应该在此代码中做哪些更改以使 SSL 正常工作?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您是否尝试在 AFHTTPRequestOperationManager 中设置此属性?</p>

<blockquote>
<p>AFHTTPRequestOperationManager.securityPolicy.allowInvalidCertificates = true</p>
</blockquote>

<p>不过,还是不建议在生产状态下使用,其次是AFNetworking官方github <a href="https://github.com/AFNetworking/AFNetworking#security-policy" rel="noreferrer noopener nofollow">page</a> .</p>

<p>另外,您可以通过 <a href="https://www.sslshopper.com" rel="noreferrer noopener nofollow">SSL Checker</a> 检查服务器端是否有任何问题。 </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何使用有效的 SSL 证书在 iOS 中使用 AFNetworking 进行 https 连接?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/38940446/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/38940446/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何使用有效的 SSL 证书在 iOS 中使用 AFNetworking 进行 https 连接?