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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
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: Fri Dec 27 12:01:29 2024 UTC