所以,我正在尝试使用类似这样的东西来使用web服务: $ client = new SoapClient(“some.wsdl”,array('local_cert'=>“cert_key.pem”));
我过去已经成功完成了其他需要证书和服务的网络服务。 key连接到local_cert文件中。现在,我正在尝试使用也依赖于可信CA的服务。这是我正在使用的J2EE(Axis)Web服务,每当我尝试从托管该服务的团队获得意见时,他们都告诉我它必须是PHP问题......
我从SoapClient调用得到的响应总是无法连接。我曾经遇到SSL错误,但后来我意识到我使用了错误的服务器证书,所以现在我至少知道我正在创建SSL调用的正确途径。
我不知道如何确保CA证书包含在该local_cert文件中。我有我的服务器证书,我的服务器证书密钥和CA证书,但有一个订单,我在local_cert连接它们?我完全错过了什么吗?
提前致谢
答案 0 :(得分:2)
根据我的经验,IIS和Apache都不需要CA文件来验证Web服务的客户端证书。您只需指定PEM文件(并将其安装在IIS上的本地存储中)。我会说你的代码看起来不错。当SSL由于某些身份验证原因而失败时,您通常会收到禁止消息。声称无法连接的错误可能涉及未打开的端口,例如SSL的端口443。