繁体   English   中英

WSO2 WSF / PHP-具有WS-Security证书签名的WSDL

[英]WSO2 WSF/PHP - WSDL w WS-Security Certificate Signing

我正在尝试连接到通过HTTPS使用WS-Security证书签名的WSDL。

仅外发邮件经过签名,并且使用二进制安全令牌(在WSO2中找不到此特定选项,但是我不确定我在下面的代码中使用了正确的选项)。

我查看了WSO2 WSF / PHP样本中的代码,并将WDSL客户端示例和Signing示例结合在一起。

码:

$my_cert = ws_get_cert_from_file("./keys/cert.pem");
$my_key = ws_get_key_from_file("./keys/key.pem");

$sec_array = array("sign"=>TRUE,
                   "algorithmSuite" => "Basic256Rsa15",
                   "securityTokenReference" => "EmbeddedToken");  //Is this correct for Binary Security Token?

$policy = new WSPolicy(array("security"=>$sec_array));

$sec_token = new WSSecurityToken(array("privateKey" => $my_key,
                                       "certificate" => $my_cert));

$client = new WSClient(array("wsdl"=>"https://.../Informationservice.WSDL",
                             "useWSA" => TRUE,
                             "policy" => $policy,
                             "securityToken" => $sec_token));

$proxy = $client->getProxy();   

$return_val =  $proxy->StreetTypes();

非常感谢您的帮助,因为我无法在任何地方在线找到连接到此类服务的示例。 大多数服务似乎使用用户名和密码而不是证书进行签名,并且在查找WSDL和证书签名时我什么都没找到。

您需要为https指定CACert选项,以将“ to”端点设置为https端点。 还请使用非wsdl模式,因为wsdl模式存在一些已知问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM