where does python requests look for certificates

Where does Python Requests look for Certificates?

If you are working with Python Requests library to make HTTP requests, you may need to know where Python Requests looks for certificates. When making HTTPS requests, Python Requests needs a certificate to verify the authenticity of the server it is connecting to. There are two ways Python Requests can find certificates:

1. Using the system's trusted certificate store

Python Requests can use the system's trusted certificate store to find the appropriate certificate for the server it is connecting to. On Windows, this is typically the Windows Certificate Store. On Linux, this may be the OpenSSL Certificate Store.

If you are using the system's trusted certificate store, you do not need to provide any additional certificates to Python Requests. Python Requests will automatically look for the appropriate certificate in the trusted certificate store.

2. Using a custom certificate bundle

If you are not using the system's trusted certificate store, you can provide a custom certificate bundle to Python Requests. This is useful if you have your own CA and want to use your own certificates for HTTPS requests.

To use a custom certificate bundle, you can pass the path to the certificate bundle file using the verify parameter when making a request:


import requests

response = requests.get('https://example.com', verify='/path/to/certfile.pem')

Here, /path/to/certfile.pem is the path to your custom certificate bundle file.

If you do not provide a value for the verify parameter, Python Requests will use the system's trusted certificate store.

In conclusion, Python Requests can look for certificates in the system's trusted certificate store or a custom certificate bundle. You can choose which method to use based on your requirements.