Visa Developer Community

Regular Visitor

Python certificate verify failed

Hi,

 

I got the sample python code from the API doc page. I am trying this code which is in the README.md

 

config.username = 'IJE1SG1HLQL1T5AKRDI721IQli.................'
config.password = 'CXx6XSnm76A........
config.cert_file = 'PATH/cert.pem' # this file is the one I downloaded in the Credentials page next to my user credential
config.key_file = 'PATH//key.pem' # this file is the one it ask me to download when I created the project
config.ssl_ca_cert = 'PATH/ca.crt' # this file is one of the "common files". I tried the Digicert CA file and the VDPCA files and none of them worked.

 

When I try to run the python code I am getting this error if I use the VDPCA cert:

 

2019-01-17 17:56:05,882 WARNING Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:726)'),)': /visadirect/fundstransfer/v1/multipullfundstransactions/status_identifier_example
2019-01-17 17:56:05,924 WARNING Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:726)'),)': /visadirect/fundstransfer/v1/multipullfundstransactions/status_identifier_example
2019-01-17 17:56:05,979 WARNING Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:726)'),)': /visadirect/fundstransfer/v1/multipullfundstransactions/status_identifier_example

And this error if I use the Digicert CA cert:

 

2019-01-17 18:31:33,416 WARNING Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(0, u'unknown error (_ssl.c:3027)'),)': /visadirect/fundstransfer/v1/multipullfundstransactions/status_identifier_example
2019-01-17 18:31:33,435 WARNING Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(0, u'unknown error (_ssl.c:3027)'),)': /visadirect/fundstransfer/v1/multipullfundstransactions/status_identifier_example
2019-01-17 18:31:33,457 WARNING Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(0, u'unknown error (_ssl.c:3027)'),)': /visadirect/fundstransfer/v1/multipullfundstransactions/status_identifier_example

 

I am not sure what I am doing wrong. 

4 REPLIES 4
Regular Visitor

Re: Python certificate verify failed

I got it working by switch the CA certificate to a plain text .pem  file

Community Manager

Re: Python certificate verify failed

Awesome! Thanks for sharing. 

Was your question answered? Don't forget to click on "Accept as Solution" to help other devs find the answer to the same question.
Occasional Visitor

Re: Python certificate verify failed

thanks for sharing

 

 

import requests

 

user_id = 'IJE1SG1HLQL1T5AKRDI721IQli.................'
password = 'CXx6XSnm76A........'
url = 'https://sandbox.api.visa.com/vdp/helloworld'
headers = { "Accept":"application/json" }
body = {}
r = requests.get(url,
cert = ( 'PATH/cert.pem' , 'PATH//key.pem' ),
headers = headers,
auth = (user_id, password),)

print r.text

 

 

PATH/cert.pem is the one you downloaded in the Credentials page next to my user credential

# PATH//key.pem is the one it ask you to download when I created the project

Highlighted
Occasional Visitor

Re: Python certificate verify failed

I have tried the exact same thing and I am getting error: 

Could not find the TLS certificate file, invalid path: