Воспроизведение аудио в формате HTML5 через HTTPS на сафари IPhone 4.3
Я написал простой HTML-код для воспроизведения аудиофайла с использованием тега HTML5 на IPhone.
<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>
Приведенный выше код отлично работает над сафари. Проблема возникает, когда я изменяю URL-адрес источника с HTTP на HTTPS.
Я начал получать сообщение об ошибке "Этот фильм не воспроизводится".
Я использую цепочку сертификатов, которая выглядит следующим образом:
VeriSign Trial Secure Server Root CA - G2 → VeriSign Trial Secure Server CA - G2 → ucbu-aricent-vm200
Сертификат Root CA (см. выше) недоступен в Safari по умолчанию.
Итак, я приложил сертификат для центра сертификации (как Root, так и Intermediate) к электронной почте, а затем добавил их в IPhone, щелкнув вложения в письме.
Но все же я вижу, что SSL Handshake терпит неудачу, когда Safari создала сеанс TCP для передачи WAV файла.
ПРИМЕЧАНИЕ. Подтверждение SSL успешно выполняется при создании сеанса TCP для извлечения HTML файла с сервера. Я сравнивал сетевые пакеты SSL-квитирования сценариев HTML и WAV файлов, и оба они были идентичны.
Ответы
Ответ 1
Это было упомянуто выше ceejoyez и снова OP (Спасибо вам обоим!), но я почти пропустил его, поскольку это был не реальный ответ:
Если вы используете контент поверх https, вам нужно иметь действительный сертификат или он не будет воспроизводиться на устройствах iOS (или в Safari на Mac).
См. здесь для соответствующего вопроса.