Поддержка SSL/TLS в Wowza Streaming Engine.

24.11.2022

SSL/TLS.

SSL и TLS - это протоколы безопасной передачи данных в IP сети. При установлении соединения по протоколу SSL/TLS, за счет использования аутентификации и шифрования, формируется безопасный канал передачи данных для прикладных протоколов сетевых приложений, в частности для протоколов потоковой передачи: HTTP (Apple HLS, MPEG DASH) , RTP, RTMP.

Почему необходимо использовать SSL/TLS в Wowza Streaming Engine.

Помимо основной функции - защиты передаваемой информации, использование SSL/TLS с медиасервером Wowza Streaming Engine может быть обязательно, даже когда сама информация и не является секретной. Дело в том, что HTML5 видеоплеер предназначенный для просмотра потоков Apple HLS/MPEG- DASH и расположенный на веб-сайте защищенном SSL/TLS, не сможет воспроизвести видеопоток с медиасервера без поддержки соединения по SSL/TLS. Соответствующая проверка параметров безопасности производится всеми браузерами. Также технология WebRTC применяемая для создания интерактивных приложений и минимизации задержки передачи видео не может работать без SSL/TLS.

Типы сертификатов SSL/TLS в Wowza Streaming Engine.

Wowza Streaming En gine поддерживает несколько способов работы с SSL сертификатами. Прежде всего Wowza предлагает получить бесплатный SSL сертификат StreamLock. Для использования такого сертификата у сервера с Wowza может даже не быть доменного имени, так как StreamLock это еще и DNS хостинг с регистрацией вашего сервера в домене streamlock.net. Такой сертификат выпускается моментально и устанавливается на сервере очень просто, необходимо только скопировать полученный файл и прописать пару строк конфигурации. Но есть и существенное ограничение, сертификат StreamLock будет работать только пока активен контракт на получение обновлений и техническую поддержку Wowza Maintenance and Support Agreement ( Wowza M&S).

Но совсем необязательно использовать сертификат StreamLock. Можно использовать SSL сертификат выпущенный любым Интернет провайдером, платный или бесплатный. Для установки одного и того же сертификата на веб-сервере и на сервере Wowza Streaming Engine удобно использовать wildcard SSL сертификат или SAN SSL сертификат. Процедура подготовки и конфигурирования своего собственного SSL cертификата потребует несколько больше усилий, чем сертификат Wowza StreamLock .

Подготовка собственного SSL сертификата для установки в Wowza Streaming Engine.

Сложность настройки собственного сертификата заключается в том, что установить полученный от провайдера файле .crt/.pem с SSL сертификатом в формате X.509 на Wowza as-is не получится. Wowza , как и другие Java приложения, поддерживает SSL сертификаты хранящиеся в файле .jks . Сертификат X.509 нужно будет конвертировать в формат PKCS12 (.pfx файл) и импортировать его в .jks файл. Помимо персонального SSL сертификата и ключа для формирования .pfx файла потребуется .ca-bundle файл, содержащий в себе корневой и промежуточный сертификаты центра сертификации. Иногда провайдер присылает .ca-bundle в готовом виде , но если корневой и промежуточный сертификаты были получены раздельно , то создать .ca-bundle можно самостоятельно, в текстовом редакторе, скопировав содержимое этих файлов и разместив промежуточный сертификат первым, а корневой сертификат вторым.

Далее, для платформы Windows , необходимо скопировать файл с ключом [your domain].key с новым именем [your domain].ca-bundle.key и выполнить две команды (Win+R):

cmd /C certutil -mergepfx [your domain].crt,[your domain].ca-bundle.crt [your domain].pfx
cmd /C "[Wowza Streaming Engine installation path]\jre\bin\keytool" -importkeystore -deststorepass [your pass] -destkeystore [your domain].jks -srckeystore [your domain].pfx -srcstoretype PKCS12

Для платформы Linux , необходимо выполнить две команды :

openssl pkcs12 -export -chain -CAfile [your domain].ca-bundle -in [your domain].crt -inkey [your domain].key -name [your domain] -out [your domain].pfx
/usr/local/WowzaStreamingEngine/java/bin/keytool -importkeystore -deststorepass [your pass] -destkeystore [your domain].jks -srckeystore [your domain].pfx -srcstoretype PKCS12

Полученный таким образом .jks следует прописать в [Wowza Streaming Engine installation path]/conf/VHost.xml , указав путь к файлу, его имя и пароль.