Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save ndeet/69d6cf4c34f9cb7560aab6100db579a9 to your computer and use it in GitHub Desktop.

Select an option

Save ndeet/69d6cf4c34f9cb7560aab6100db579a9 to your computer and use it in GitHub Desktop.

Revisions

  1. ndeet created this gist Dec 23, 2021.
    56 changes: 56 additions & 0 deletions workaround-btcpay-woocommerce-outdated-openssl.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,56 @@
    **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-----
    ```

    3. 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.**