Haj*_*tsu 1 ssl xcode swift alamofire
我正在使用 Alamofire 进行 SSL 固定。为此,我使用以下代码:
import Foundation
import Alamofire
import SwiftyJSON
class CertificateManager {
init() {
let serverTrustPolicies: [String: ServerTrustPolicy] = [
"test.example.com": .pinCertificates(
certificates: ServerTrustPolicy.certificates(),
validateCertificateChain: true,
validateHost: true
),
"insecure.expired-apis.com": .disableEvaluation
]
let sessionManager = SessionManager(
serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
)
}
}
Run Code Online (Sandbox Code Playgroud)
但发生了这些错误:
我的 pod 文件是:pod 'Alamofire', '~> 5.0.0-rc.2'.
我搜索并测试了一些解决方案,但无法解决错误。我怎样才能解决这个问题?
我也试过这个答案。+
在Alamofire正在使用版本,ServerTrustPolicy并且SessionManager不再存在。您可以尝试如下新引入的 api,
let pinEvaluator = PinnedCertificatesTrustEvaluator(certificates: Bundle.main.af.certificates,
acceptSelfSignedCertificates: true,
performDefaultValidation: true,
validateHost: true)
let disableEvaluator = DisabledEvaluator()
let trustManager = ServerTrustManager.init(evaluators:
["test.example.com": pinEvaluator,
"insecure.expired-apis.com": disableEvaluator
])
let sessionManager = Session.init(configuration: .default, serverTrustManager: trustManager)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2361 次 |
| 最近记录: |