Certificate Alamofire 4-Swift 3-凭证和自签名证书

Certificate Alamofire 4-Swift 3-凭证和自签名证书,certificate,alamofire,credentials,Certificate,Alamofire,Credentials,我正在使用Alamofire并尝试从我的服务器获取JSON提要。服务器具有自签名证书,并可通过用户和密码进行访问 这是我的密码 let user = "user" let password = "password" let url1 = "https://10.0.1.2:4711/fhem/?cmd=jsonlist2&XHR=1" let credential = URLCredential(user: user, password: password,

我正在使用Alamofire并尝试从我的服务器获取JSON提要。服务器具有自签名证书,并可通过用户和密码进行访问

这是我的密码

 let user = "user"
    let password = "password"

    let url1 = "https://10.0.1.2:4711/fhem/?cmd=jsonlist2&XHR=1"
    let credential = URLCredential(user: user, password: password, persistence: .forSession)

    let serverTrustPolicies :[String: ServerTrustPolicy] = [
    "10.0.1.8": .disableEvaluation
    ]


    let AlamoSession = SessionManager(serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies))
    AlamoSession.request(url1 )
        .authenticate(usingCredential: credential)
        .responseJSON { response in
            debugPrint(response.response)
            print("Result value \(response.result.value)")
            //print (response.result.value?.valueForKey("status"))
    }
但它不起作用

我怎样才能做到

通过自签名证书在https Url上发出get请求

在我的应用程序的info.plist中,我添加了
应用程序传输安全设置-允许任意加载-是

我使用此代码忽略了SSL错误

import Alamofire

struct WebAPI {
    static let sessionManager: SessionManager = {
        switch MyEnvironment.server {
        case .development:
            return Alamofire.SessionManager(
                serverTrustPolicyManager: ServerTrustPolicyManagerForDevelop()
            )
        case .staging, .production:
            return Alamofire.SessionManager()
        }
    }()

    private class ServerTrustPolicyManagerForDevelop: ServerTrustPolicyManager {

        init() {
            super.init(policies: [:])
        }

        override func serverTrustPolicy(forHost host: String) -> ServerTrustPolicy? {
            return .disableEvaluation
        }
    }

}