Recently there was a spike in Authorize.net customers that reported their sites credit card processing errors which, according to log files resulted in the following error produced:
CURL ERROR: SSL certificate problem: self signed certificate in certificate chain
Fix:
- Download and unarchive SDK
https://codeload.github.com/AuthorizeNet/sdk-php/tar.gz/2.0.0 - Find ./lib/ssl/cert.pem file in it and upload it to the server
- Find cert.pem file in their account and make a backup of it. Replace it with the cert.pem file from the previous step.
Testing (oneliner):
echo | openssl s_client -connect apitest.authorize.net:443 -showcerts -verify 10 -CAfile /home/path/to/cert.pem
Make sure to replace “/home/path/to/cert.pem” with the real path. If all is good you’ll get something like this at the end:
Verify return code: 0 (ok)
Otherwise you’ll see:
Verify return code: 19 (self signed certificate in certificate chain)