【发布时间】:2018-02-14 18:21:45
【问题描述】:
我正在尝试通过 https 调用(通过 PHP 脚本)远程 (SOAP) 网络服务器,它需要受密码保护的证书。 我正在使用 nuSoap 拨打电话,但我总是收到以下错误
nusoap_client:得到 wsdl 错误:获取 https://ws-t.pitre.tn.it/wcfrouting/wsdl/Documents.wsdl - HTTP 错误:cURL 错误:58:无法使用客户端证书(未找到密钥或密码错误?)
require_once("../nusoap/lib/nusoap.php");
$pitre_wsdl = "https://ws-t.pitre.tn.it/wcfrouting/wsdl/Documents.wsdl";
$client = new nusoap_client($pitre_wsdl, "wsdl");
$err = $client->getError();
if ($err) {
print("Error");
exit();
}
$client->setCredentials(
"",
"",
"certificate",
array (
"sslcertfile" => "../pitre/cert.p12",
"sslkeyfile" => "../pitre/cert.p12",
"certpassword" => "mypass",
"verifypeer" => FALSE,
"verifyhost" => FALSE
)
);
$result = $client->call(
"GetTemplatesDocuments",
array (
"CodeAdm" => "myCode"
)
);
使用浏览器,我可以毫无问题地访问 wisdl。我尝试了以下答案:
cURL with SSL certificates fails: error 58 unable to set private key file
我得到了同样的结果。
我错过了什么吗?
【问题讨论】:
标签: php ssl curl certificate nusoap