php获取客户端https证书,带有SSL证书的PHP SOAP客户端

我正在尝试使用以下代码设置Soap客户端:

$wsdl = 'https://domain.com/?wsdl';

$endpoint = 'https://domain.com';

$certificate = dirname(__FILE__) . '/CertWithKey.pem';

$password = 'pwd';

$options = array(

'location' => $endpoint,

'keep_alive' => true,

'trace' => true,

'local_cert' => $certificate,

'passphrase' => $password,

'cache_wsdl' => WSDL_CACHE_NONE

);

try {

$soapClient = new SoapClient($wsdl, $options);

} catch(Exception $e) {

var_dump($e);

}

我获得了一个带有.crt认证文件的.p12密钥文件.使用openssl我已将.p12文件转换为.pem文件,然后将其与.crt文件合并. CertWithKey.pem看起来不错,文件中有两个证书块.

无论我尝试做什么,我都会收到SOAP-ERROR消息的异常:解析WSDL:无法从’https://domain.com/?wsdl’加载:无法加载外部实体“https:/ /domain.com/?wsdl”.

在与远程方打电话后,他们确认请求正在进入,但他们正在记录此错误:ssl握手被系统中断[提示:在浏览器中按下停止按钮?!].

由于到目前为止我没有在网上找到任何有用的信息,我想让你们对这个问题有所了解.

有什么建议可以尝试吗?我正在运行PHP 5.3.8,并且服务器的IP地址在远程控制台的防火墙中列为白色.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值