PHP上的SOAP服务器端证书验证

时间:2014-07-31 13:05:51

标签: php soap x509

以前我创建了使用证书发送SOAP消息的系统。

示例显示了它是如何完成的:

$client_options = array();
$client_options['local_cert'] = '<path to .pem file>';
$client_options['passphrase'] = '<.pem file password>';
$client = new SoapClient('<address to wsdl file>', $client_options);

$tmp_res = $client->some_function($params);

但现在我必须创建接收这些消息的服务器。

我找到了很多资源,都建议使用这段代码:

$classmap = array('<class_name2>'=>'<class_name2>');
$server = new SoapServer('<path to wdsl file>',array('classmap'=>$classmap));
$server->setClass("<class_name>");
$server->handle();

代码本身有效,但我无法理解的是 - 证书如何在此客户端 - 服务器通信中工作。

  • 据我所知,为了安全通信,需要两对私钥和证书。每个派对都有一个。
  • 可以添加.pem文件,其中包含SoapClient的一个私钥和证书对。
  • 传入消息(双方)未加密。

  1. 无法为SoapServer传递证书和密钥对吗?
  2. 如何执行证书的确切验证(在什么位置和检查的内容)?
  3. 我如何过滤掉我感兴趣的用户提供的消息,但是,我可以获得他的证书吗?
  4. 对于这些幼稚的问题感到抱歉,但是你可以指出我,我错了,并提供适当的资源来查找有关这方面的信息吗?

    感谢。

0 个答案:

没有答案