我试图在两个应用程序之间建立https连接:一个是nodejs中的api,另一个是python客户端应用程序
在阅读了https和证书之后,我创建了一个自签名证书。 为此,我使用了以下命令:
openssl req -newkey rsa:2048 -nodes -keyout pvtkey.pem -x509 -days 365 -out domain.crt
这需要明确地拥有公钥:
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)
但仍然有相同的结果
我做错了什么? 可能是我生成的证书吗
所以我设法想出了办法
不知何故,我肯定错过了一些步骤,但这就是我最终能够安装自签名证书的原因:
希望这能帮助其他有同样问题的人
相关问题 更多 >
编程相关推荐