Я пишу программу на Python для связи с сервером Qlik sense через Websocket.Подключение происходит через сертификаты.Когда я пытаюсь подключиться, я получаю сообщение об ошибке «невозможно получить сертификат локального эмитента».Я попытался сузить проблему, и я получаю то же сообщение об ошибке при попытке проверить сертификаты с помощью openssl.
ОС: Mac
Примечание: я уже установил сертификат root.pem в системуи сделал это доверенным.Тем не менее он выдает то же сообщение об ошибке.
OpenSSL> verify -CAfile root.pem client.pem
client.pem: OK
OpenSSL>
OpenSSL> verify client.pem
client.pem: CN = QlikClient
error 20 at 0 depth lookup:unable to get local issuer certificate
error in verify
OpenSSL>
На случай, если кто-нибудь взглянет на
senseHost = “SERVER”
privateKeyPath = "/Users/abc/”
## userDirectory and userId can be found at QMC -> Users
userDirectory, userId = “DIR”, “user”
url = "wss://" + senseHost + “:999/app" # valid
certs = ({"ca_certs": privateKeyPath + "root.pem",
"certfile": privateKeyPath + "client.pem",
"keyfile": privateKeyPath + "client_key.pem",
"cert_reqs": ssl.CERT_REQUIRED,
"server_side": False
})
ssl.match_hostname = lambda cert, hostname: True
ws = create_connection(url, sslopt=certs,
header={'X-Qlik-User: UserDirectory=%s; UserId=%s' % (userDirectory, userId)})