我有一个奇怪的问题,就是某个域无法在WKWebView中加载。它给出了一个错误:
WebPageProxy::didFailProvisionalLoadForFrame: frameID=3, domain=NSURLErrorDomain, code=-1200
我认为这是在抱怨证书的签发吗?如果我通过info.plist允许不安全的内容,它可以正常工作,但我当然不想允许这样做。
对于该域,证书是可以的。不幸的是我不能分享这个网址。这是一个.gov域。证书为DigiCert,未过期.
它在应用程序之外的Safari中运行得很好,甚至在Firefox和Chrome中也很好,我认为它们使用了WKWebView,但可能不是吗?
有没有人经历过这个问题?我还能做什么额外的步骤来确定WKWebView到底在抱怨什么,以及可以做些什么来修复它呢?
我们实际上是在使用Xamarin,但是我们在Xamarin和Xcode中都有测试项目来复制这个问题。
谢谢!
发布于 2022-03-30 15:28:45
我发现问题了!
WKWebView (与Safari不同)要求SSL证书支持前向保密。
您可以在这里检查证书是否支持这一点:
https://www.ssllabs.com/ssltest/analyze.html
可以在info.plist中禁用它,但是我们选择要求站点所有者更改他们的证书。
https://stackoverflow.com/questions/71678158
复制相似问题