我有一个运行在iOS 13.3设备上的iOS应用程序(iPhone XR),它使用在我的应用程序中启动一个本地websocket服务器,监听127.0.0.1:9002。
我有一个自我签署的证书,我使用它来设置Swift中的TLS选项。此证书符合苹果在这里指定的要求:iOS 13和macOS 10.15中对受信任证书的要求。根CA在我的设备上是明确可信的,并且尊重需求。
在我的应用程序中,我加载了一个显示网站的WKWebView:.websocket.org/echo.html。
当我试图连接到: wss://127.0.0.1:9002时,我总是得到相同的错误:
WebSocket网络错误:操作无法完成。(OSStatus错误-9807.)
在安全框架中是指:
errSSLXCertChainInvalid
我想指出,当我尝试不使用TLS的相同步骤时,一切都很好。
你知道我的证书怎么了吗?从几天以来我一直在挣扎。谢谢。
编辑:我发现了问题的原因,我忘记在服务器端添加完全正确的证书链,因此客户端无法正确验证服务器的身份,因为我只有服务器证书,而没有包括中间证书和根CA在内的整个证书链。
扫描二维码推送至手机访问。
版权声明:本文由MDM苹果签名,IPA签名,苹果企业签名,苹果超级签,ios企业签名,iphoneqm.com发布,如需转载请注明出处。