收藏
回答

微信调用企业付款报错OpenSSL error error:0906D06C?

在做微信的企业付款到零钱的时候报错


这是什么原因呢?是证书路径的问题吗?

我把证书放到根目录下 还是不行,求大神帮忙解决下,谢谢了

最后一次编辑于  08-16  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

3 个回答

  • あいしてる
    あいしてる
    08-16

    已经好了了 谢谢各位


    08-16
    赞同 1
    回复
  • Mystic
    Mystic
    08-16

    看到thinkphp就烦!个人原因,勿喷

    08-16
    赞同
    回复 1
    • Mystic
      Mystic
      08-16
      证书有问题,证书没找到或者key证书没找到,猜测,别全信
      08-16
      回复
  • 痛快科技
    痛快科技
    08-16
    // post https请求,CURLOPT_POSTFIELDS xml格式
    function curl_post_ssl($url, $vars, $second = 30, $aHeader = array())
    {
        $ch = curl_init();
        //超时时间
        curl_setopt($ch, CURLOPT_TIMEOUT, $second);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        //这里设置代理,如果有的话
        //curl_setopt($ch,CURLOPT_PROXY, '10.206.30.98');
        //curl_setopt($ch,CURLOPT_PROXYPORT, 8080);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
     
        //以下两种方式需选择一种
     
        //第一种方法,cert 与 key 分别属于两个.pem文件
        //默认格式为PEM,可以注释
        curl_setopt($ch, CURLOPT_SSLCERTTYPE, 'PEM');
        curl_setopt($ch, CURLOPT_SSLCERT, getcwd() . '/public/apiclient_cert.pem');//本地用
    //        curl_setopt($ch, CURLOPT_SSLCERT, './public/apiclient_cert.pem');//服务器用
        //默认格式为PEM,可以注释
        curl_setopt($ch, CURLOPT_SSLKEYTYPE, 'PEM');
        curl_setopt($ch, CURLOPT_SSLKEY, getcwd() . '/public/apiclient_key.pem');//本地用
    //        curl_setopt($ch, CURLOPT_SSLKEY, './public/apiclient_key.pem');//服务器用
     
        //第二种方式,两个文件合成一个.pem文件
    //        curl_setopt($ch,CURLOPT_SSLCERT,getcwd().'/all.pem');
     
        if (count($aHeader) >= 1) {
            curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);
        }
     
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
        $data = curl_exec($ch);
        if ($data) {
            curl_close($ch);
            return $data;
        } else {
            $error = curl_errno($ch);
            echo "call faild, errorCode:$error\n";
            curl_close($ch);
            return false;
        }
    }

    试试这个

    08-16
    赞同
    回复
问题标签