ghindows/php-signed-soap-client

PHP SoapClient with SOAP Message Security

1.0.0 2018-08-21 13:57 UTC

This package is not auto-updated.

Last update: 2025-06-05 21:03:10 UTC


README

SoapClient extensions which adds ability to sign messages and open HTTPS connections

Requirements

  • PHP compiled with SOAP support
  • xmllint utility (ubuntu/debian has it in libxml2-utils package)

Usage

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.

Create a public/private key pair using OpenSSL

  • 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