ssl - 在 Safari 和 websockets (osx/ios) 中使用自签名证书

标签 ssl safari

我需要测试安全的网络套接字。我想用自签名证书来做。所以在节点 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 中使用自签名证书? 特别是在不将自签名根证书添加到操作系统的情况下?

最佳答案

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

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

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

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

关于ssl - 在 Safari 和 websockets (osx/ios) 中使用自签名证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36741972/

相关文章:

java - 尝试访问 AWS 服务时出现不支持的记录版本 Unknown-0.0 异常

php - TCPDF:getimagesize():SSL 操作失败,代码为 1 错误:1416F086:SSL 例程:tls_process_server_certificate:证书验证失败

javascript - 我的 html 背景视频无法在 safari 中播放

ios - iPhone 7 上的设备像素比

ssl - 在数据库中使用 SSL 证书

ssl - 在 nginx 中为 nextcloud 反向代理?

java - Tomcat 8.0.x Websockets、SSL 和 Windows --> 最后一帧延迟

html - 尽管 Safari 具有相同的 CSS 属性,但它在不同页面上以不同的权重显示单个字体

wordpress 上的 CSS 在使用 Chrome 或 Safari 时不正常

javascript - Safari 在请求带有下载 header 的链接时停止 jquery 动画