intuit/PHP-Payments-SDK

versionOfTLS() depends on www.howsmyssl.com, which didn't renew its own SSL cert!

Closed this issue · 6 comments

Today our site stopped processing credit card authorizations. I tracked the problem down to versionOfTLS() in BaseCurl.php. It makes a connection to https://www.howsmyssl.com/a/check

https://github.com/intuit/PHP-Payments-SDK/blob/master/src/HttpClients/core/BaseCurl.php#L151

Today howsmyssl.com's own SSL certificate expired, causing versionOfTLS() to fail, in turn causing setSSLConfig() to throw a PHP exception which prevents any Quickbooks Payments communication!

hlu2 commented

Fixing it now. Will make a quick release.

Looks like howsmyssl has just now updated their site with a free Let's Encrypt cert.

Still, maybe not such a great design to depend upon this free site?

hlu2 commented

Definitely not. It was there when we just started disabling tls 1.1 and developers are not understanding which tls version they are using. It is no longer necessary.

You might also consider updating cacert.pem. It appears to be 2 years old.

hlu2 commented

I disable the SSL checkings as well. Right now, it will not "verify" the certificate to see if it is signed by a valid authority. For maintenance purposes, "accept all certificate" is the default option.

hlu2 commented

In case somebody needs the validation, updated the cacert.pem as well.