【问题标题】:HTML5 audio playback over HTTPS on safari IPhone 4.3在 safari iPhone 4.3 上通过 HTTPS 播放 HTML5 音频
【发布时间】:2012-02-20 17:26:16
【问题描述】:

我编写了一个简单的 HTML 代码来使用 iPhone 上的 HTML5 音频标签播放音频文件。

<audio controls="controls" autoplay="autoplay">
<source src="http://192.168.1.130/ab.wav>" type="audio/wav" preload="auto"/>
Your browser does not support the audio element.
</audio>

上面的代码在 safari 上运行得非常好。当我将源 URL 从 HTTP 更改为 HTTPS 时,问题就出现了。

我开始收到“无法播放此电影”错误消息。

我使用的证书链如下:

VeriSign 试用安全服务器根 CA - G2 -> VeriSign 试用安全服务器 CA - G2 -> ucbu-aricent-vm200

默认情况下,根 CA(上)的证书在 Safari 中不可用。

所以我已将证书颁发机构(根证书和中间证书)的证书附加到电子邮件中,然后通过单击电子邮件中的附件将它们添加到 iPhone 中。

但当 Safari 创建 TCP 会话以传输 WAV 文件时,我仍然看到 SSL 握手失败。

注意:当创建 TCP 会话以从服务器获取 HTML 文件时,SSL 握手会成功。我对比了 HTML 和 WAV 文件场景的 SSL 握手的网络数据包,两者是相同的。

【问题讨论】:

  • 您有没有考虑过,用于音频/视频播放的 HTTP/SSL 可能不是由 Safari 完成的(只是假设)
  • 为什么不使用您知道操作系统接受的证书?他们在 GoDaddy 上的售价为 12 美元......
  • 经过一番努力,我能够在 Iphone 上通过 HTTPS 解决音频播放问题。此外,我已经在 iPad 上对其进行了测试,并且也可以使用它。似乎需要以下事情才能使其工作。 1) 由 Iphone 上受信任的证书颁发机构签署的 Tomcat Web 服务器证书。我们已经使用 StartCom CA 授权来生成证书。 2) 在音频标签中,我们必须使用主机名而不是 IP 地址。似乎 Safari 正在将证书 CN 与 URL 进行比较以确认盒子的身份。
  • 您能否确认这在 Windows Phone 8 中是否也能正常工作?我一直在努力让它工作,但最后我必须设计自己的音频/视频播放器来通过 HTTPS 源播放媒体文件。

标签: iphone ios html https mobile-safari


【解决方案1】:

ceejoyez 和 OP 都提到了这一点(谢谢你们!),但我几乎错过了它,因为它不是真正的答案

如果您通过 https 提供内容,您需要有一个有效的证书,否则它将无法在 iOS 设备(或 Mac 上的 Safari)上播放。

有关相关问题,请参阅here

【讨论】:

  • 还有这个问题。尽管在证书和 Audio src 中有有效的证书和正确的域。 iOS 9.3.
  • marcel,您的证书是自签名的还是来自某些受信任的来源?我问是因为自签名证书可以是有效的,但我相信它仍然会触发这个问题。
猜你喜欢
  • 2012-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-08
相关资源
最近更新 更多