使用带有Safari和websockets的自签名证书(osx/ios)

gma*_*man 9 safari ssl

我需要测试安全的websockets.我想用自签名证书来做.因此,遵循这些指令在节点中制作了快速Web服务器.

然后我使用ws npm模块添加了一个websocket服务器.

所以我去Chrome中试试吧.当我第一次访问https页面时,Chrome就会抱怨证书无法验证(这是预期的)但是我点击"高级"并"继续"它连接到页面并且websockets工作并且是安全的.

那么我在Safari中尝试一下.它还抱怨证书无法验证(预期),但我点击"继续".它加载HTTPS页面但不会执行websockets.OSX Safari和iOS Safari都显示

WebSocket network error: OSStatus Error -9807: Invalid certificate chain 
Run Code Online (Sandbox Code Playgroud)

有没有办法在Safari中使用自签名证书?特别是没有将自签名根证书添加到操作系统?

Flo*_*ery 2

自从您询问以来,情况似乎已经发生了变化,因为在接受自签名证书后,它现在可以在 OSX Safari 上运行(这将需要输入您的 OSX 管理员密码一次)。

对于移动设备,唯一对我有用的解决方法是根本不使用 SSL (ws://)。

我不确定 Safari 是否会接受混合的 https:// + ws:// 页面,但如果您想为 http 部分保留 SSL,那么值得一试。

我找不到苹果官方文档说 websocket 不接受自签名证书,但那里的每个帖子似乎都是这么说的。