Python SSL requests and Let's Encrypt certs

拥有回忆 提交于 2019-11-30 19:40:48

Sounds like your CA CERTS on the machine are not up to date or the web server is not configured to server the full certificate chain.

On OSX you can export all the certs in your keychain access to a .pem file and then point requests to that file: http://movingpackets.net/2015/03/18/telling-openssl-about-your-root-certificates/

CA_BUNDLE = path_to_your_exported_file.pem
response = requests.get(user_account_url, verify=CA_BUNDLE)

For any lost soul that stumbled upon this post while looking for a Windows Fix for this issue.

Using Chrome:

  1. Open the URL in using HTTPS.
  2. On the address bar click where it says "Secure".
  3. Click on certificate.
  4. Go to the "Certification Path" tab.
  5. Select "Let's Encrypt Authority X3" (Go up one level) then click "View Certificate".
  6. Go to the "Details" tab and click "Export to File".
  7. On the Wizard click next and select "Base-64 encoded X.509 (.CER)", click next again.
  8. Select a folder and name for the file (Remember this directory).
  9. Go to that folder and right click the certificate and click "Install Certificate".
  10. Select Local Machine (Requires Admin Rights), click next.
  11. Select "Automatically select the certificate store..." (Default), click next.
  12. Click Finish.
  13. Run your Python Script again.

Disclaimer: Using Chrome 67.0.3396.99 with Windows 10 64-Bit.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!