Bug->Doc #51985 [Opn->Csd]: The signature or decryption was invalid
| From: | noone at mpp dot hu | Date: | Fri, 04 Jun 2010 11:36:08 +0000 |
| Subject: | Bug->Doc #51985 [Opn->Csd]: The signature or decryption was invalid | ||
| References: | 1 | Groups: | php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-4500@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=51985&edit=1
ID: 51985
User updated by: noone at mpp dot hu
Reported by: noone at mpp dot hu
Summary: The signature or decryption was invalid
-Status: Open
+Status: Closed
-Type: Bug
+Type: Documentation Problem
Package: SOAP related
Operating System: Linux Debian
PHP Version: 5.3.2
New Comment:
The server expect teh xml with soap and not SOAP-ENV envelope...
Previous Comments:
------------------------------------------------------------------------
[2010-06-03 10:20:54] 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}
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=51985&edit=1