Python requests/urllib3 fails with ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] unable to get local issuer certificate. Python takes its CA bundle from the certifi package. Fix: pip install --upgrade certifi. On macOS — run /Applications/Python 3.x/Install Certificates.command. Corporate proxy with MITM — export REQUESTS_CA_BUNDLE=/path/to/corporate-ca.pem.
Below: details, example, related, FAQ.
# Update certifi
$ pip install --upgrade certifi
# macOS fix
$ /Applications/Python\ 3.12/Install\ Certificates.command
# Corporate MITM proxy — add CA
$ export REQUESTS_CA_BUNDLE=/etc/ssl/certs/corporate-mitm.pem
# Python code: explicit bundle
import requests, certifi
resp = requests.get('https://api.example.com', verify=certifi.where())
# Debug only (NEVER in prod):
resp = requests.get('https://api.example.com', verify=False)SSL/TLS is the encryption protocol that protects data between the browser and server. Our tool analyzes the certificate, chain of trust, TLS version, and knownvulnerabilities.
Issuer, validity period, signature algorithm, covered domains (SAN), and validation type (DV/OV/EV).
Full chain verification: from leaf certificate through intermediates to root CA.
Protocol version (TLS 1.2/1.3), cipher suites, Perfect Forward Secrecy (PFS) support.
Set up a monitor — get Telegram and email alerts 30/14/7 days before expiration.
SSL certificate monitoring
TLS config audit
HTTPS as ranking factor
customer trust
www and subdomains.Strict-Transport-Security header forces browsers to always use HTTPS.SSL certificate monitoring, check history and alerts 30 days before expiry.
Sign up freeThe Python.org installer ships certifi, but the system trust store is separate. Running Install Certificates.command links the bundle.
Export REQUESTS_CA_BUNDLE to the corporate root CA. IT usually provides the file.
Debug only in dev. In prod = MITM vulnerability. Use httpbin.org with self-signed + a local CA in trust.