0

我有一个 Laravel 项目,我在其中使用 GoCardless API 和来自https://github.com/gocardless/gocardless-pro-php的 PHP 客户端包装器。我已经像这样简单地设置了它。

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use GoCardlessPro\Client;

class PaymentController extends Controller
{
    /**
     * Display the index page where we begin a payment flow.
     */
    public function index(Request $request)
    {
        // Create a new instance of the GoCardLess Client.
        $client = new Client([
            'access_token' => config('gocardless.token'),
            'environment' => config('gocardless.environment')
        ]);

        $customers = $client->customers()->list();

        dd($customers);
    }
}

但是,每当我尝试进行 API 调用时,都会收到以下错误。

cURL 错误 60:SSL 证书问题:https://api-sandbox.gocardless.com/customers 的证书已过期(请 参阅https://curl.haxx.se/libcurl/c/libcurl-errors.html

我在我的本地机器上使用 Laragon,提供的两件事是:

  1. 使用虚拟主机的漂亮 URL
  2. 您的 URL 的 SSL 证书

我觉得问题在于 Laragon SSL 证书是自签名的。

这是包含相关项目的文件夹。

在此处输入图像描述

我在 GitHub 上发现了一个相关问题 -> https://github.com/gocardless/gocardless-pro-php/issues/126

但是,我与一位 GoCardless 开发人员交谈,他们说了以下内容:

对于 SSL 问题,这很可能是您的 localhost 或 Laravel 上的问题 - 如果您的信任库中仍有过期的根 CA 证书,则 OpenSSL 可能正在构建错误 CA 证书的路径,因此认为它在它过期时已过期不应该。有关详细信息,请参阅此帖子: https ://www.openssl.org/blog/blog/2021/09/13/LetsEncryptRootCertExpire/ 我们的团队在一些运行 OpenSSL 1.0.2 的机器上遇到了这个问题,例如我使用 Mamp 运行我的 PHP,在更新了 Mamp 和 homebrew 之后,它随后更新了 openssl

4

1 回答 1

0

我去了 Laragon 讨论表,并被指向此链接的方向:https ://forum.laragon.org/topic/1472/curl-error-60-ssl-certificate-problem-unable-to-get-local -颁发者证书/2

基本上我只是cacert.pem用提供的链接更新了我的。有问题的文件位于此处C:\laragon\etc\ssl\cacert.pem

如果有的话,我看到的区别是添加了以下内容:

ISRG Root X1
============
-----BEGIN CERTIFICATE-----
MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAwTzELMAkGA1UE
BhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2VhcmNoIEdyb3VwMRUwEwYDVQQD
EwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQG
EwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMT
DElTUkcgUm9vdCBYMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54r
Vygch77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+0TM8ukj1
3Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6UA5/TR5d8mUgjU+g4rk8K
b4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sWT8KOEUt+zwvo/7V3LvSye0rgTBIlDHCN
Aymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyHB5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ
4Q7e2RCOFvu396j3x+UCB5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf
1b0SHzUvKBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWnOlFu
hjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTnjh8BCNAw1FtxNrQH
usEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbwqHyGO0aoSCqI3Haadr8faqU9GY/r
OPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CIrU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4G
A1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY
9umbbjANBgkqhkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ3BebYhtF8GaV
0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KKNFtY2PwByVS5uCbMiogziUwt
hDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJw
TdwJx4nLCgdNbOhdjsnvzqvHu7UrTkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nx
e5AW0wdeRlN8NwdCjNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZA
JzVcoyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq4RgqsahD
YVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPAmRGunUHBcnWEvgJBQl9n
JEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57demyPxgcYxn/eR44/KJ4EBs+lVDR3veyJ
m+kXQ99b21/+jh5Xos1AnX5iItreGCc=
-----END CERTIFICATE-----
于 2021-11-24T17:33:54.783 回答