cURL错误60:SSL证书:无法获取本地颁发者证书-DigiCert

时间:2019-05-06 15:43:29

标签: php ssl ssl-certificate guzzle guzzlehttp

我有一个产品和一个测试服务器。然后,我有一个带有测试和生产环境的第三方程序。

测试是结合在一起的,而生产是结合在一起的。

第三方生产服务器具有DigiCert Global Root G2,测试服务器具有DigiCert Global Root CA

我的服务器共享环境配置,并且两个证书/etc/ssl/certs中。

我用 GuzzleHttp 称呼它。

$client = new Client([
    'base_uri' => 'www.example.com',
]);

$data = [
    'json' => $jsonData
    'expect' => false,
    'auth' => [username, password, basic]
];

$client->request('POST', 'api/endpoint1', $data);

生产服务器运行正常,但测试服务器抛出错误cURL error 60: SSL certificate: unable to get local issuer certificate

有一个证书链(不确定如何工作):

0 s:/CN=www.example.com
i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=RapidSSL RSA CA 2018
1 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=RapidSSL TLS RSA CA G1
i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root G2
  1. 我需要找出是谁的错-我的还是第三方的?
  2. 如何解决?

1 个答案:

答案 0 :(得分:0)

问题是第三方的证书有问题。修复后,现在一切正常。 因此,无需更新已经正确写入问题中的证书。