Wee*_*360 6 ios swift alamofire
因此,我遵循Alamofire关于Read Me关于其新服务器信任策略的指示.从服务器获得证书,将其添加到我的项目并在我的项目中实现以下代码:
let serverTrustPolicies: [String: ServerTrustPolicy] = [
"someserver.withvalidcer.com": .PinCertificates(
certificates: ServerTrustPolicy.certificatesInBundle(),
validateCertificateChain: true,
validateHost: true
)
]
let manager = Manager(
configuration: NSURLSessionConfiguration.defaultSessionConfiguration(),
serverTrustPolicyManager: ServerTrustPolicyManager(policies: serverTrustPolicies)
)
Run Code Online (Sandbox Code Playgroud)
我的问题是我该如何测试?
我已经尝试将我的基本api url更改为我们的测试服务器,它具有不同的有效证书,但api调用不会被拒绝.我已经验证代码是在所需的api调用上运行的.
好问题!
我建议尝试使用某些代理软件来尝试获取API调用的中间部分(Charles Proxy,Burp等)。启用固定后,所有网络请求都将失败,因为代理软件将为您提供不正确的证书。然后,如果禁用证书固定,则服务调用应通过代理正常工作。
另一种方法是临时更改服务器上的证书,并且您应该看到Web服务也会失败。