Я пытаюсь установить sh соединение https между 2 приложениями: 1 - это API в nodejs, а другое - python клиентское приложение.
После прочтения о https и сертификатах я создали самозаверяющий сертификат. Для этого я использовал следующую команду:
openssl req -newkey rsa:2048 -nodes -keyout pvtkey.pem -x509 -days 365 -out domain.crt
И это, чтобы явно указать ключ publi c:
openssl rsa -in pvtkey.pem -pubout > pubkey.pem
Тогда в моем коде python у меня есть следующее строка для запроса:
response = requests.post(endpoint, cert=("home/pi/se24-title.crt", "/home/pi/pvtkey.pem"), headers=self.headers, json=req_payload)
Когда я запускаю тестирование своего кода, я получаю следующую ошибку:
Max retries exceeded with url: /api/title
(Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))
Ранее я также пытался установить crt в доверенные сертификаты и сделайте такие запросы:
response = requests.post(endpoint, verify=True, headers=self.headers, json=req_payload)
, но все равно получите тот же результат.
Что я делаю не так? Может ли это быть сертификат, который я сгенерировал?