'Turn off or bypass SSL Certificate Verification in Swift iOS
I have my server certificates expired.
I want to bypass or turn off certs verification from my swift iOS app so i can test app features.
I need this just for testing, not for production of live app. so none concerned for security.
How can i achieve this in Swift iOS.
I am using Alamofire library for network requests.
How to achieve this.
Solution 1:[1]
Put the below cod into info.plist file.
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
    					Solution 2:[2]
Try something like:
import Foundation
import Alamofire
class NetworkManager {
    static let shared = NetworkManager()
    var unsecure: SessionManager!
    var serverTrustPolicies: [String: ServerTrustPolicy] = ["unsecureSslHostname":.disableEvaluation]
    private init () {
        self.unsecure = { () -> SessionManager in
            let configuration = URLSessionConfiguration.default
            configuration.httpAdditionalHeaders = SessionManager.defaultHTTPHeaders
            return SessionManager(
                configuration: configuration,
                serverTrustPolicyManager: ServerTrustPolicyManager(policies: self.serverTrustPolicies)
            )
        }()
    }
}
After that NetworkManager.shared.unsecure will return Alamofire SessionManager which can be used for send request to hosts with unsecured SSL certificates.
Solution 3:[3]
use this for your session configuration:
let serverTrustPolicies: [String: ServerTrustPolicy] = ["untrustedServer.com": .disableEvaluation]
let servertrustManager = ServerTrustPolicyManager(policies: serverTrustPolicies)
sessionManager = SessionManager(configuration: configuration,serverTrustPolicyManager: servertrustManager)
    					Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source | 
|---|---|
| Solution 1 | sanjeev | 
| Solution 2 | |
| Solution 3 | abed | 
