需要一些帮助来理解普遍存在的cURL 58错误,在这种情况下,这是由于包含带有cURL请求的PEM文件所致。

 Error 58: unable to set private key file

我的代码可以成功打开.pem文件(请参阅fopen()调用),但是cURL抱怨它无法设置私钥文件。 试图更好地了解这是客户端(me)上的内容还是主机返回的内容。 可以肯定,这是我的最终目的,但不确定。

谢谢

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->apiURL);
$fh = fopen($this->certPath,'a+');

if($fh){
         echo "File opened!";
         fclose($fh);
       } else {
         echo "File not opened";
}

    curl_setopt($ch, CURLOPT_SSLCERT, $this->certPath);
    curl_setopt($ch, CURLOPT_POSTFIELDS, trim($SOAPrequest));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $result = curl_exec($ch);
    if (curl_error($ch)) {
        printf("Error %s: %s", curl_errno($ch), curl_error($ch));
    }
    curl_close ($ch);

    return $result;
}

钥匙:

-----BEGIN CERTIFICATE-----
MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCB
yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL
[...]
-----END CERTIFICATE-----

===============>>#1 票数:1 已采纳

您的文件不包含任何私钥,仅包含公钥。
我认为您可能根本没有理由使用CURLOPT_SSLCERT。

  ask by Slinky translate from so

未解决问题?本站智能推荐:

2回复

cURL 58错误无法加载客户端密钥-8178

在这里输入代码我正在尝试建立我的第一个ssl连接,但是我无法查明错误代码58无法加载的原因。 我正在使用php curl来测试连接,这里是代码的使用 当执行此代码时,我得到以下错误:错误代码= 58错误消息=无法加载客户端密钥-8178
2回复

具有SSL证书的cURL失败:错误58无法设置私钥文件

我正在尝试使用cURL连接到远程主机。 连接需要使用证书和受密码保护的私钥。 到目前为止,我无法使用下面的代码: 我一直得到的结果是错误58 : unable to set private key file: '/home/.../domains/.../public_html/au
1回复

cURL错误58:SSL:无法加载证书“...”及其私钥:Mac上的OSStatus -25299

代码在Ubuntu vagrant box上工作正常,但在本地MacO上它没有加载sertificates说 我研究过Mac有一点支持OS X本机API而不是OpenSSL。 我需要将pem + cert转换为pkcs12 。 但这对我不起作用,因为我的PHP服务器在Ubu
1回复

cURL错误(58):无法设置私钥文件:'/var/www/work/xml/keys/client.pem'类型PEM

使用私钥和公钥连接到服务器时,出现此错误。 cURL错误(58):无法设置私钥文件:'/var/www/work/xml/keys/client.pem'类型PEM 我的私钥包含密钥和证书。 它也有密码。 我当前的代码在这里:
1回复

卷曲失败,并显示错误#58:无法使用客户端证书(找不到密钥或密码短语错误?)

我收到此错误:致命错误:Curl失败,错误#58:无法使用客户端证书(找不到密钥或密码错误?) 我有一个脚本可以从.p12文件中提取证书信息。 我以为这是开始的问题,但是我用它来粘贴生成的.pem文件的内容: https : //www.sslshopper.com/certificat
2回复

Windows上的PHP cURL SSL错误

我在使用Windows的PHP和cURL时遇到了一个奇怪的问题。 如果有cURL调用https资源。 一切顺利,直到今天早上。 现在,cURL在请求URL时抛出此错误: 我已阅读有关.pem文件或禁用主机验证的信息。 但是我不想使用它们中的任何一个,因为我想知道是什么引起了问
2回复

PHP curl发布解析错误

我正在尝试通过POST通过curl发送数据。 这就是我所做的 我收到一个错误提示 这是正常的卷曲请求
1回复

PHP Curl标头错误?

我正在将内容从PHP Curl脚本发送到API。 我正在使用这是在传递JSON标头的同时做POST做我的脚本 但是当我在API端跟踪请求的内容类型时,我得到了 我不应该得到这个吗?
1回复

PHP Curl错误重定向

我曾经在网站上获取一些信息,使用curl登录并显示信息,但是现在该网站使用cloudflare。 问题是我无法遵循重定向,因为该网站使用的是javascript。 我认为解决起来非常简单,因为我在本地主机上使用php curl,并且在5秒钟后出现消息“ 在访问示例之前检查浏览器。 ”将我
1回复

PHP OOP CURL代理错误

输出: Recv failure:重置连接 但如果我评论“//Isis_Expl::setProxy('XXX.XXX.XXX.XXX:XXXX');” 输出没问题..哪里有问题?