php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Doc Bug #51985 The signature or decryption was invalid
Submitted: 2010-06-03 10:20 UTC Modified: 2010-06-04 13:36 UTC
Votes:11
Avg. Score:5.0 ± 0.0
Reproduced:11 of 11 (100.0%)
Same Version:7 (63.6%)
Same OS:8 (72.7%)
From: noone at mpp dot hu Assigned:
Status: Closed Package: SOAP related
PHP Version: 5.3.2 OS: Linux Debian
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: noone at mpp dot hu
New email:
PHP Version: OS:

 

 [2010-06-03 10:20 UTC] noone at mpp dot hu
Description:
------------
I have to communicate a SOAP server which is need 2 different SSL key/passphrase.
I need one to allow communicate the server, and I need an other one to sign the 
xml which I send.

When I add a wrong SLL key to communicate then I can't connect to the host.
When I add a wrong SSL key to sign the xml I keep the following error: "The 
signature or decryption was invalid"

So I think the __soapCall method use the SSL key(wich meant to be auth) to sign 
the xml and that's why I keep the same error when I directly use a wrong key.
But this is just a guess.

I don't know why it is not working.

Test script:
---------------
$clientOps["local_cert"] = "/var/www/wsdl/key/test.pem";
$clientOps["passphrase"] = "test";
$client = new WSSecSoapClient("test.wsdl", $clientOps);

$xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">
<soap:Body>
</soap:Body>
</soap:Envelope>";

working:
$answer = $client->__doRequest($xml,"https://secured.url/test.asmx","HelloWorld","1.1");

NOT working:
$answer = $client->__soapCall("HelloWorld", array(), array("location"=>"https://secured.url/test.asmx"));


Expected result:
----------------
When I call the __doRequest method then I keep a valid answer. Which is contains 
"Hello World!"

I expect the same result when I call __soapCall method.



Actual result:
--------------
SoapFault exception: [q0:FailedCheck] The signature or decryption was invalid in 
/var/www/index.php:49
Stack trace:
#0 /var/www/index.php(49): SoapClient->__soapCall('HelloWorld', Array, Array)
#1 {main}

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2010-06-04 13:36 UTC] noone at mpp dot hu
-Status: Open +Status: Closed -Type: Bug +Type: Documentation Problem
 [2010-06-04 13:36 UTC] noone at mpp dot hu
The server expect teh xml with soap and not SOAP-ENV envelope...
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Dec 26 19:01:30 2024 UTC