Как доверять конечной точке iOS swift
Я вызываю конечную точку с самозаверяющим сертификатом ssl. Я пытался добавить это в свой info.plist
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Но я все еще не могу получить доступ к конечной точке, я продолжаю получать это
NSLocalizedDescription=The certificate for this server is invalid. You might be connecting to a server that is pretending to be “endpoint” which could put your confidential information at risk.
1 ответ
Решение
Вам нужно создать диспетчер сеансов и сказать ему, чтобы отключить оценку ssl на этом сервере.
Что-то вроде этого
static var manager: Alamofire.SessionManager = {
let serverTrustPolicies: [String: ServerTrustPolicy] = [
"https://example.com": .disableEvaluation
]
let configuration = URLSessionConfiguration.default
configuration.httpAdditionalHeaders = Alamofire.SessionManager.defaultHTTPHeaders
let manager = Alamofire.SessionManager(
configuration: URLSessionConfiguration.default,
serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
)
return manager
}()
А потом, вместо вызова запроса в Alamofire, вот так
Alamofire.request("https://example.com", method: .get…
Вы называете это в вашем менеджере
manager.request("https://example.com"…