Hi,
I am trying to connect to a secure web server, with a self-signed SSL certificate, using the net.HTTPClient() library in a scene.
When I connect to the web server using my web browser, I get a warning telling me that the certificate is not certified by a valid authority, as you may have already seen on such certificate.
In my web browser, I just click on the button to continue anyway. Firefox even allows me to add the certificate to the list of approved certificates. Problem solved
But on HC2, I can't figure how to bypass the warning
Here is the LUA code i use :
local URL = "https://subdomain.domain.com/path"
local httpClient = net.HTTPClient()
httpClient:request(URL, {
success = function(response)
if response.status == 200 then
-- Code to execute if successfull
else
fibaro:debug("Error : status=" .. tostring(response.status))
end
end,
error = function(err)
fibaro:debug('httpClient:request() : Error : ' .. err)
end,
options = {
method = 'GET',
checkCertificate = false,
}
})
As you can see,I tried to use the "checkCertificate = false" option, but I doesn't seem to have any effect.
I always get the following message : "sslv3 alert handshake failure"
[DEBUG] 21:05:41: httpClient:request() : Error : sslv3 alert handshake failure
The checkCertificate option seems to exist, as I found it as a string in the compiled binaries into the HC2.
I tried both true and false boolean values, which seems to be accepted by the LUA interpreter, but I doesn't affect result as I would normally expect;
If I try another value, such as a number or a string, I get a LUA Cast error and the script immediately ends. This is a proof that the checkCertificate parameter is used, but apparently with no effect.
Can anyone confirm this strange behavior ?
To Fibaro developers, can you confirm this parameter is correctly implemented ?