php - curl 错误 60 : SSL certificate: unable to get local issuer certificate - DigiCert

标签 php ssl ssl-certificate guzzle

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

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

第 3 方生产服务器有一个 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 错误 60:SSL 证书:无法获取本地颁发者证书

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

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. 我需要查明这是谁的错 - 我的还是第 3 方?
  2. 如何解决?

最佳答案

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

关于php - curl 错误 60 : SSL certificate: unable to get local issuer certificate - DigiCert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56008457/

相关文章:

php - 将Google Analytics(分析)代码放在单独的文件中会破坏分析

PHP 在全局命名空间中使用类

php - 我如何在 Php/SQL 中生成字母数字,哪种方法更好?

python - 请求模块的 PyInstaller SSL 错误 - 缺少模块 ssl (_ssl)

ssl - 允许每个 ssl_verify 的 Nginx 问题,忽略的位置不起作用

c - 使用 openssl C API 解析 asn1 文档

php - 如何对从数据库中获取的数据进行分页

对 Twitter 的 Python Oauth 请求产生响应 403 - 需要 SSL

java - 如何忽略 PKIX 路径构建失败 : sun. security.provider.certpath.SunCertPathBuilderException?

出站连接的 SSL 配置在 websphere-liberty 17.0.0.2 中不起作用