Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ndeet/69d6cf4c34f9cb7560aab6100db579a9 to your computer and use it in GitHub Desktop.
Save ndeet/69d6cf4c34f9cb7560aab6100db579a9 to your computer and use it in GitHub Desktop.
BTCPay for WooCommerce plugin: with outdated openssl versions < 1.1.0

IMPORTANT: these changes will get wiped and overwritten with each BTCPay for WooCommerce plugin update and the proper way to fix this would be that your server (or your hosting provider) updates to a more recent OpenSSL version.

go to the plugins dircetory e.g. wp-content/plugins/btcpay-for-woocommerce

there find the certificate bundle in the library and open it:

nano lib/Bitpay/Client/Adapter/ca-bundle.crt

  1. search for "DST Root CA X3"

  2. DELETE that certificate

DST Root CA X3
==============
-----BEGIN CERTIFICATE-----
MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1
cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT
rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9
UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy
xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T
AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ
MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug
dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE
GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
-----END CERTIFICATE-----
  1. save the file

Add this line to the file lib/Bitpay/Client/Adapter/CurlAdapter.php on line 104

CURLOPT_CAINFO         => __DIR__.'/ca-bundle.crt',

So it looks like this with the other existing options:

        CURLOPT_SSL_VERIFYPEER => 1,
        CURLOPT_SSL_VERIFYHOST => 2,
        CURLOPT_CAINFO         => __DIR__.'/ca-bundle.crt',
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FORBID_REUSE   => 1,

Save the file and try again.

IMPORTANT: these changes will get wiped and overwritten with each BTCPay for WooCommerce plugin update and the proper way to fix this would be that your server (or your hosting provider) updates to a more recent OpenSSL version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment