rcelestino
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-02-2011
10:12 AM
HLS over HTTPS problems
Hi,
We are trying to change our HLS demos in ROKU to a real-scenario where we use HTTPS to get Playlist (Variant/And/Quality) and Keys.
But we get the next error message when we use https:// in Playlists and Key or Any combination of this, but over HTTP it works correctly.
"Known event: 9index:-5 msg: The format is not supported or the media is corrupt."
For this scenario we set:
screen=CreateObject("roVideoScreen")
screen.SetCertificatesFile("common:/certs/ca-bundle.crt")
screen.AddHeader("X-Roku-Reserved-Dev-Id", "")
'screen.InitClientCertificates() 'we comment this line in the last test but this doesnt work too
The certificate of our server was purchased to Thawte, and the certification chain is:
thawte PRimary Root CA \ Thawte SSL CA \ Our Domain
Also we tried the same m3u8/ts/key files over HTTP and it is working correctly.
Also We tried to get the files with #curl over https and also it is working correctly.
Also we tried to set in the metadata Array the m.StreamStickyHttpRedirects=[false,false] 'we use two entries metadata SD, HD. But it didnt work.
Also we tried to use roUrlTransfer to get the same urls then we print in the telnet console the response and this it is working correctly in each urls (https in playlist, https in quality, https in Key). The example code for this purpose is:
http = CreateObject("roUrlTransfer")
http.SetPort(CreateObject("roMessagePort"))
http.SetUrl("https://domain/urls")
http.SetCertificatesFile("common:/certs/ca-bundle.crt")
http.AddHeader("X-Roku-Reserved-Dev-Id", "")
http.InitClientCertificates()
response = http.GetToString()
print "*******************************************************"
print "Debug response:",response
print "*******************************************************"
Any idea? Or Any example that is working with HLS in HTTPs? Or Any Help?
Thanks a Lot!
Roberto.
PS:
The certificate was purchased with the next properties:
Cipher : RC4-MD5
Server public key is 2048 bit
We are trying to change our HLS demos in ROKU to a real-scenario where we use HTTPS to get Playlist (Variant/And/Quality) and Keys.
But we get the next error message when we use https:// in Playlists and Key or Any combination of this, but over HTTP it works correctly.
"Known event: 9index:-5 msg: The format is not supported or the media is corrupt."
For this scenario we set:
screen=CreateObject("roVideoScreen")
screen.SetCertificatesFile("common:/certs/ca-bundle.crt")
screen.AddHeader("X-Roku-Reserved-Dev-Id", "")
'screen.InitClientCertificates() 'we comment this line in the last test but this doesnt work too
The certificate of our server was purchased to Thawte, and the certification chain is:
thawte PRimary Root CA \ Thawte SSL CA \ Our Domain
Also we tried the same m3u8/ts/key files over HTTP and it is working correctly.
Also We tried to get the files with #curl over https and also it is working correctly.
Also we tried to set in the metadata Array the m.StreamStickyHttpRedirects=[false,false] 'we use two entries metadata SD, HD. But it didnt work.
Also we tried to use roUrlTransfer to get the same urls then we print in the telnet console the response and this it is working correctly in each urls (https in playlist, https in quality, https in Key). The example code for this purpose is:
http = CreateObject("roUrlTransfer")
http.SetPort(CreateObject("roMessagePort"))
http.SetUrl("https://domain/urls")
http.SetCertificatesFile("common:/certs/ca-bundle.crt")
http.AddHeader("X-Roku-Reserved-Dev-Id", "")
http.InitClientCertificates()
response = http.GetToString()
print "*******************************************************"
print "Debug response:",response
print "*******************************************************"
Any idea? Or Any example that is working with HLS in HTTPs? Or Any Help?
Thanks a Lot!
Roberto.
PS:
The certificate was purchased with the next properties:
Cipher : RC4-MD5
Server public key is 2048 bit
5 REPLIES 5
rcelestino
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-02-2011
11:04 AM
Re: HLS over HTTPS problems
Also we tried the player with a "un-encrypted wmv" over HTTPS and it didnt work.
Also we tried the player with a "un-encrypted wmv" over HTTP and it is working correctly.
May be we are doing something bad with screen.SetCertificatesFile("common:/certs/ca-bundle.crt")?
Why we can get correctly the response of request over HTTPS using roUrlTransfer?
Thanks a lot.
Also we tried the player with a "un-encrypted wmv" over HTTP and it is working correctly.
May be we are doing something bad with screen.SetCertificatesFile("common:/certs/ca-bundle.crt")?
Why we can get correctly the response of request over HTTPS using roUrlTransfer?
Thanks a lot.

RokuKevin
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-02-2011
11:40 AM
Re: HLS over HTTPS problems
Please PM me a link to the stream you are trying to get play, and I'll help you debug the certs setup.
--Kevin
--Kevin
ryaowe
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-26-2011
04:14 PM
Re: HLS over HTTPS problems
I'm having a very similar problem. Were you able to resolve it? I have an HLS stream that works if I set my key URLs to use http, but not if I use https. The error I get is a very generic "An unexpected problem (but not server timeout or HTTP error) has been detected. index: -3 data: 0"
I'm calling SetCertificatesFile("common:/certs/ca-bundle.crt") on my roVideoScreen instance.
I am also able to manually download the key over https using roUrlTransfer.
I'm calling SetCertificatesFile("common:/certs/ca-bundle.crt") on my roVideoScreen instance.
I am also able to manually download the key over https using roUrlTransfer.
ryaowe
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-05-2011
03:21 PM
Re: HLS over HTTPS problems
screen.SetCertificatesDepth(3) seems to have done the trick for me.
bmckim
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-20-2012
01:00 PM
Re: HLS over HTTPS problems
I have tried setting the certificate depth, but can not get HLS to play over HTTPS. When making regular HTTPS requests in a separate app I am able to use
video.SetCertificatesFile("common:/certs/ca-bundle.crt") and it works fine. I have also tried my own .pem with both certificates included.
video.SetCertificatesFile("common:/certs/ca-bundle.crt") and it works fine. I have also tried my own .pem with both certificates included.
video.SetCertificatesFile("common:/certs/ca-bundle.crt")
'video.SetCertificatesFile("pkg:/source/telvueCA.pem")
video.SetCertificatesDepth(3)
video.InitClientCertificates()
video.SetContent(videoclip)
video.show()
------ Running ------
srt =
SYS LOG: Status: untrustedcert
LogType: http.error
TargetIp: 38.98.246.175
HttpCode: -1