[英]Not able to authenticate using client certificate in Requests of python
我正在使用以下代碼行來請求HTTPS
網址。
r = requests.get(
'https://xxxx.xxx.xxx',
cert='/Users/xxxx/Documents/xxxx.pem')
但是它返回了這個錯誤:
SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",),))
我可以通過以下命令加載證書:
openssl x509 -in xxxx.pem -text -noout
並檢查證書中的私鑰:
openssl rsa -in xxxx.pem -check
我不知道要使此呼叫有效的原因是什么。 chrome中的相同請求運行正常。
謝謝! 昆
如果'/Users/xxxx/Documents/xxxx.pem'
是檢查'https://xxxx.xxx.xxx'
證書所需的CA證書 ,那么您需要將其傳遞給param verify
requests
:
r = requests.get(
'https://xxxx.xxx.xxx',
verify='/Users/xxxx/Documents/xxxx.pem',
)
如果它是用於客戶端驗證的證書,則不僅需要傳遞證書的路徑,還需要傳遞私鑰的路徑:
r = requests.get(
'https://xxxx.xxx.xxx',
cert=('/Users/xxxx/Documents/cert.pem', '/Users/xxxx/Documents/privkey.pem'),
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.