Как обработать запрос по протоколу HTTPS в Roku SG, когда сайт небезопасен?

Я работаю над приложением Roku Scene Graph. Он получает данные запроса от удаленных серверов, указанных URL-адресами. Однако ответ не возвращался и отображал ошибку:

SSL: альтернативное имя субъекта сертификата не соответствует целевому имени хоста...

Как сделать запрос с URL-адресом HTTPS, когда веб-сайт небезопасен?

Мой код для запроса данных ниже:

request = CreateObject("roUrlTransfer")  
request.SetCertificatesFile("common:/certs/ca-bundle.crt")
request.AddHeader("X-Roku-Reserved-Dev-Id", "")
request.InitClientCertificates()
request.SetUrl(url)  
port = CreateObject("roMessagePort")
request.SetMessagePort(port)
request.SetPort(port)    
timer = createobject("roTimeSpan")
request.AsyncGetToString()   
while true    
    msg = wait(10, port)
    if type(msg) = "roUrlEvent" then
        if msg.GetResponseCode() = 200 then
            m.data = msg.GetString()   
            return m.data
            exit while
        else
            print msg.GetResponseCode() 
            print msg.GetFailureReason()
            exit while
        end if        
    end if      
end while

Код для скачивания картинок:-

mgr = CreateObject("roTextureManager")
msgport = CreateObject("roMessagePort")
mgr.SetMessagePort(msgport)

request = CreateObject("roTextureRequest","https://192.168.1.10/ball.png")
request.SetCertificatesFile("common:/certs/ca-bundle.crt")
request.InitClientCertificates()

mgr.RequestTexture(request)

1 ответ

Моя рекомендация заключается в том, что проблема с сертификатом должна быть решена на стороне сервера.

Возвращаясь к вашему вопросу, вы можете отключить проверку SSL на Roku, используя метод EnableHostVerification(enable as Boolean) as Boolean из ifUrlTransfer интерфейс

request.EnableHostVerification(false)
Другие вопросы по тегам