swift 中的 SSL Pinning 和身份验证质询
SSL Pinning in swift and authentication challenge
我正在尝试使用 didReceiveAuthentication Challenge 实现 SSL 固定并且我做到了。但是,我确实有一个问题,就是这个函数的描述
https://developer.apple.com/documentation/webkit/wknavigationdelegate/1455638-webview?language=objc
它的 URLSession 版本也是如此,两者都提到只有在收到挑战时。我担心的是,会不会有网站根本不要求客户证书?如果是这样,那我该如何进行 SSL 固定?
客户端证书固定与客户端证书无关。 didReceiveAuthenticationChallenge:
也被调用以响应接收服务器的证书。在这种情况下,它将 protectionSpace.authenticationMethod
设置为 NSURLAuthenticationMethodServerTrust
。如果服务器请求客户端证书,它将用 ...ClientCertificate
再次调用。如果需要 Basic Auth,它将用 ...HTTPBasic
等再次调用。
我正在尝试使用 didReceiveAuthentication Challenge 实现 SSL 固定并且我做到了。但是,我确实有一个问题,就是这个函数的描述
https://developer.apple.com/documentation/webkit/wknavigationdelegate/1455638-webview?language=objc
它的 URLSession 版本也是如此,两者都提到只有在收到挑战时。我担心的是,会不会有网站根本不要求客户证书?如果是这样,那我该如何进行 SSL 固定?
客户端证书固定与客户端证书无关。 didReceiveAuthenticationChallenge:
也被调用以响应接收服务器的证书。在这种情况下,它将 protectionSpace.authenticationMethod
设置为 NSURLAuthenticationMethodServerTrust
。如果服务器请求客户端证书,它将用 ...ClientCertificate
再次调用。如果需要 Basic Auth,它将用 ...HTTPBasic
等再次调用。