我编写了一个简单的 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>
Run Code Online (Sandbox Code Playgroud)
上面的代码在 safari 上工作得很好。当我将源 URL 从 HTTP 更改为 HTTPS 时,问题就出现了。
我开始收到“无法播放这部电影”的错误消息。
我正在使用如下的证书链:
VeriSign 试用安全服务器根 CA - G2 -> VeriSign 试用安全服务器 CA - G2 -> ucbu-aricent-vm200
默认情况下,Safari 中不提供根 CA(上图)的证书。
因此,我已将证书颁发机构(Root 和 Intermediate)的证书附加到电子邮件中,然后通过单击电子邮件中的附件将它们添加到 iPhone 中。
但是我仍然看到当 Safari 创建 TCP 会话来传输 WAV 文件时 SSL 握手失败。
注意:当创建 TCP 会话以从服务器获取 HTML 文件时,SSL 握手成功。我比较了HTML和WAV文件场景的SSL握手的网络数据包,它们都是相同的。