我想使用PHP cURL连接到安全站点.网站所有者给了我们四个文件:
和PEM密码短语.
$curl_resource = curl_init ();
curl_setopt ( $curl_resource, CURLOPT_URL, $sHost );
curl_setopt ( $curl_resource, CURLOPT_POST, 1 );
curl_setopt ( $curl_resource, CURLOPT_POSTFIELDS, $post_string );
curl_setopt ( $curl_resource, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt ( $curl_resource, CURLOPT_HTTPHEADER, $headerdata);
curl_setopt ( $curl_resource, CURLOPT_HEADER, true);
curl_setopt ( $curl_resource, CURLOPT_SSLCERT , HOMEDIR.'cert/icom-live-ca.pem');
curl_setopt ( $curl_resource, CURLOPT_SSLCERTPASSWD, 'PEM pass phrase');
curl_setopt ( $curl_resource, CURLOPT_SSLKEY, HOMEDIR.'cert/secure.key');
curl_setopt ( $curl_resource, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt ( $curl_resource, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt ( $curl_resource, CURLOPT_SSLCERTTYPE, 'PEM');
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
无法设置私钥文件:'filepath'/ secure.key类型为PEM.
我没有在我的服务器上进行任何设置.我是否需要在客户端服务器上安装/更改任何设置以及访问HTTPS站点?
小智 2
您应该检查文件及其所在目录的文件权限,以确保您的程序可以正确读取它们。如果这不起作用,请检查 .pem 文件以确保证书后面跟着其颁发者的证书。
有关详细信息,请参阅此问题和答案:无法使用 libcurl 访问需要客户端身份验证的站点