You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DocuSign接口报unable to get local issuer certificate错误排查

问题根因

这个报错和你自己的主域名、子域名有没有安装SSL证书完全无关。
报错本质是:新子域名对应的服务端PHP/CURL运行环境,没有配置可用的可信根CA证书库,导致你作为客户端请求DocuSign的OAuth接口时,CURL无法验证DocuSign返回的SSL证书的签发链合法性,直接中断了请求。
你主域名运行正常,是因为主域名对应的PHP环境已经提前配置好了CA证书路径;新子域名的运行环境(要么是同服务器上独立的PHP版本池,要么是全新的服务器实例)缺这个配置,才会抛错。你自己站点的SSL证书是给访问你站点的用户做校验用的,和你主动向外发起API请求时校验对方证书的流程完全没关系,不用在自己站点的证书上浪费时间排查。

修复配置步骤

按优先级从高到低操作即可:

  • 复用已有正常配置
    先找到主域名对应PHP版本的php.ini文件,搜索curl.cainfo和openssl.cafile两个配置项,复制这两个项的配置值。再打开新子域名对应PHP版本的php.ini,把这两个配置项填成一样的值,确认配置里指向的cacert.pem文件在新环境的对应路径真实存在,重启PHP-FPM/Apache的PHP进程即可恢复。
  • 补全缺失的CA证书文件
    如果新环境上根本没有对应的cacert.pem文件,把正规的CA根证书集合文件放到服务器非Web访问目录(比如/etc/ssl/certs/cacert.pem),再把上述两个配置项的值设为该文件的绝对路径,重启PHP进程就行。
  • 排查权限和路径限制
    如果配置完还是报错,检查新子域名的PHP是否开了open_basedir限制,要确保cacert.pem所在的目录在open_basedir的允许访问列表里,否则PHP读不到证书文件一样会抛同类错误。
  • 临时调试方案(严禁生产环境使用)
    如果只是临时验证代码逻辑,可以在初始化DocuSign客户端时临时关闭SSL校验:
    $client->getConfig()->setSSLVerification(false);
    
    这个操作会跳过服务端证书合法性校验,存在中间人攻击风险,调试完必须删掉,生产环境绝对不能留。

避坑提醒:不要把你自己站点的SSL证书、私钥填到curl.cainfo/openssl.cafile配置项里,这两个配置要求的是存储了所有可信根CA证书的集合文件,不是单个站点的业务证书。

内容的提问来源于stack exchange,提问作者Bill in Kansas City

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 16:09:22