SoapClient extensions which adds ability to sign messages and open HTTPS connections
- PHP compiled with SOAP support
- xmllint utility (ubuntu/debian has it in libxml2-utils package)
This class supports SOAP Message Security standard.
You should set certificate (in PFX or PKCS7 format) while initializng class. Other HTTP options, identical to HTTPRequest class request options are accepted too:
$client = new SignedSoapClient( 'https://example.com?wsdl', array( 'ssl' => array( 'cert' => '/file', 'certpasswd' => 'password' ) ) );
Class signes SOAP-ENV:Body part of the message by default, this behaviour can be changed
in buildSignedInfo
method.
The basics command line steps to generate a private and public key using OpenSSL are as follows:
openssl genrsa -out privatekey.pem 1024 openssl req -new -x509 -key privatekey.pem -out publickey.cer -days 1825 openssl pkcs12 -export -out public_privatekey.pfx -inkey privatekey.pem -in publickey.cer