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

时间:2016-04-20 11:09:55

标签: ssl safari

我需要测试安全的websockets。我想用自签名证书来做。因此,在节点following these instuctions中制作了快速Web服务器。

然后我使用the ws npm module添加了一个websocket服务器。

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

然后我在Safari中尝试。它还抱怨证书无法验证(预期),但我点击“继续”。它加载HTTPS页面但不会执行websockets。 OSX Safari和iOS Safari都显示

WebSocket network error: OSStatus Error -9807: Invalid certificate chain 

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

1 个答案:

答案 0 :(得分:1)

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

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

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

我无法找到官方的Apple文档,说明自签名证书不会被接受用于websockets,但是每个帖子似乎都这么说。