Secure WebSocket WSS(自签名证书)在 iOS Safari 上不起作用



iOS 不允许在使用自签名证书时连接到 WSS(安全 Websocket(。

手动将证书添加到iOS可能是解决方案之一。但并非每个使用iOS的客户端都会手动执行此操作。

不能使用不安全的WS,因为项目要求是安全的WSS,也不能从letscrypt等创建证书,因为我们使用的是仅存在于内部网中的本地域,例如test.local

需要一个解决方案来允许 WSS 在 iOS 上自动工作。如果需要,任何桥接机制也可以在服务器端工作。

简单的解决方案,不要将自签名证书用于任何实际部署。

像Lets Encrypt这样的解决方案可以免费获得真正的证书,并且易于自动化。

编辑(以涵盖新的详细信息(

如果这是企业部署,则让管理员在 iOS 策略中包含 CA 证书。

如果这是针对消费者的,那么这是不可能的,没有人会为您颁发由公认的 CA 签名的.local地址证书。如果是针对消费者的,那么对设备的唯一访问将是来自他们的本地网络,那么为什么对 wss 有硬性要求呢?

编辑:

需要明确的是,这在几乎所有操作系统/浏览器上都会失败,让消费者安装 CA 证书不太可能发生(他们需要知道提前这样做(。

本机应用可以选择自己的 CA 证书,但浏览器不能。

您也不会获得公认的 CA 来签署.local主机名的证书。

最新更新