It took me a while to figure out why SSL connections were failing on the Roku 1 but working fine on the Roku 2, Roku 3, etc.
I eventually had a look at this file both on the Roku 1 and Roku 2:
common:/certs/ca-bundle.crt
This is the file that I was using to set my certificate file with this command:
object.SetCertificatesFile(“common:/certs/ca-bundle.crt”)
To my surprise, the ca-bundle.crt file on the Roku 1 is NOT the same as the file with the same name on the Roku 2. And the important difference for me is it was missing the “Go Daddy Root Certificate Authority - G2” but this is included in the file on newer Roku models.
The solution was to download the ca-bundle.crt file from the Roku 2 (which I named /certs/roku-common-certs.pem) and include this in my package and then refer to that file in my SetCertificatesFile command. So my new command refers to that local file like this:
obj.SetCertificatesFile(“pkg:/certs/roku-common-certs.pem”)
Anyway, just wanted to post this in case anyone else was having a similar issue. It would be awesome if Roku could update the common:/certs/ca-bundle.crt file on the Roku 1 players. The Go Daddy certificate we’re using I’ve got to believe is pretty common.
