alamofire - 带有自签名证书的 Alamofire 5
问题描述
我想绕过使用Alamofire 5和 Swift 4 的证书验证。我正在使用 Alamofire 连接到具有自签名证书的服务器。这类似于这个问题Alamofire with a self-signed certificate / ServerTrustPolicy,但答案是针对以前的 Alamofire 版本,我不清楚如何将这种方法应用于版本 5。有谁知道如何在 Alamofire 5 中实现这个?
解决方案
它在 Alamofire 5 中非常相似,但ServerTrustPolicy
已被重构为具有一致性类型的协议,以获得更好的可扩展性。与您链接的答案类似,您需要ServerTrustManager
为您的域创建一个:
let manager = ServerTrustManager(evaluators: ["your.domain.here": DisabledEvaluator()])
let session = Session(serverTrustManager: manager)
当然,您仍然需要为您的域添加 ATS 例外。
此外,您永远不应该发布使用 的代码DisabledEvaluator
,因为它会允许所有无效的 TLS 连接。
推荐阅读
- c++ - c ++如何使用Curl Multi Interface连续循环
- javascript - 按日期排序,空值无效 JSON 对象。
- json - 如何读取无效的 JSON 格式亚马逊 firehose
- python - 无法使用 pydobc 在 AWS Lambda 中使用 Python 3.6 中的 pyodbc 连接到 SQL Server
- javascript - 有没有办法访问在 Vue js 中该元素的元素上声明的数据?
- java - Javax UriBuilder 错误
- html - 谷歌浏览器不会调整视频横幅的大小
- python - 找不到我得到的 AttributeError 的来源
- angular - 在 Angular 单元测试中访问元素的内联样式
- vba - VBA - 仅在使用自定义对象的属性时出现溢出错误