How to force requests use the certificates on my ubuntu system

23,420

You can set the environment variable REQUESTS_CA_BUNDLE so you don't have to modify your code:

export REQUESTS_CA_BUNDLE=/usr/local/share/ca-certificates/hbrls-server.cert

Source: https://requests.readthedocs.io/en/master/user/advanced/#ssl-cert-verification

Share:
23,420
hbrls
Author by

hbrls

web/mobile, front/back, js/node/python

Updated on June 01, 2020

Comments

  • hbrls
    hbrls almost 4 years

    I'm using a self-signed cert for debug purpose.

    $ cp hbrls-server.cert /usr/local/share/ca-certificates/
    $ update-ca-certificates
    

    After that, I can see hbrls-server.pem in /etc/ssl/certs/. But requests still raises the SSLError.

    If I specify the cert like this: requests.get('https://blabla', verify='/etc/ssl/certs/hbrls-server.pem'), it will be OK.

    And python -m requests.certs returns /usr/local/lib/python2.7/dist-packages/certifi/cacert.pem.

    How can I make requests to use the certs on the system. I'm working on dockerize sth, and would not like to see that verify=path-to-cert in my code.

    EDIT: ubuntu 12.04, python 2.7.3, requests 2.7.0