簡體   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