首页 文章

Python请求SSL身份验证问题(和curl)

提问于
浏览
2

我正在尝试使用请求通过https进行连接 . 我已经尝试在线建议生成我自己的证书,并通过我自己的ca包没有成功 . 我得到的错误是:

SSLError:HTTPSConnectionPool(host ='app.company.com',port = 443):使用url:/ v1 / auth / login超出最大重试次数(由SSLError引起(SSLError(“错误握手:错误([('SSL例程') ,'ssl3_get_server_certificate','证书验证失败')],)“,),))

我正在使用Python 3.6.3 :: Anaconda,Inc .

我认为生成我自己的证书是错误的路径,因为我发现curl有同样的问题 . 但是,我有一个版本的curl工作但不是另一个版本,区别在于 - 工作版本是这个 - 这是iOS打包的版本(/ usr / bin / curl):

curl 7.54.0(x86_64-apple-darwin16.0)libcurl / 7.54.0 SecureTransport zlib / 1.2.8协议:dict文件ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp功能:AsynchDNS IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz UnixSockets

非工作版本是这个(来自anaconda):

curl 7.55.1(x86_64-apple-darwin13.4.0)libcurl / 7.55.1 OpenSSL / 1.0.2l zlib / 1.2.11 libssh2 / 1.8.0发布日期:2017-08-14协议:dict文件ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp功能:AsynchDNS IPv6大文件NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS代理

所以关键问题似乎是SecureTransport vs. OpenSSL . 当然,我不知道为什么但是有没有办法让python请求使用SecureTransport?我想明白为什么但是现在我会解决它的工作!

(另一个问题是为什么不同版本的curl的SSL库的不同 . 是否可以使curl 7.55.1使用SecureTransport)

提前致谢 .

1 回答

相关问题