robrichards / wse-php

Libraries for adding WS-* support to ext/soap in PHP
129 stars 92 forks source link

WSSE Encryption is not possible in recent versions of PHP. #28

Closed veewee closed 7 years ago

veewee commented 7 years ago

Hello @robrichards,

Thanks for this awesome package! I am using this one for adding WSA and WSSE middlewares to our soap-client.

I was trying to use the X509 encryption options as you showed in the examples. I bounced against following 2 issues (in PHP7.1):

Function mcrypt_module_open() is deprecated: https://wiki.php.net/rfc/mcrypt-viking-funeral In the next major version, mcrypt will be removed. Maybe it's a good idea to look at alternative solutions?

Error: Call to undefined function RobRichards\WsePhp\split(): http://php.net/manual/en/function.split.php This function is deprecated since 5.3 so shouldn't be used anymore. This one is blocking the encryption functionality for the moment.

More information and a failing test are located here: https://github.com/veewee/soap-client/blob/e0e594d5d130776d0941777afb819e879e06a56f/test/PhproTest/SoapClient/Unit/Middleware/WsseMiddlewareTest.php#L236

The WSSE middleware is located at this location: https://github.com/veewee/soap-client/blob/e0e594d5d130776d0941777afb819e879e06a56f/src/Phpro/SoapClient/Middleware/WsseMiddleware.php

Can you give me some feedback on this? Thanks!

robrichards commented 7 years ago

I have updated this library for the depreciated split. xmlseclibs is currently being tested with mcrypt removed so hopefully that should get released relatively soon

veewee commented 7 years ago

Thanks for the update!

jonaz commented 7 years ago
$ composer.phar require robrichards/wse-php
Using version ^2.0 for robrichards/wse-php
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - robrichards/wse-php 2.0.1 requires robrichards/xmlseclibs ^2.0 -> satisfiable by robrichards/xmlseclibs[2.0.0, 2.0.1, 2.0.x-dev] but these conflict with your requirements or minimum-stability.
    - robrichards/wse-php 2.0.0 requires robrichards/xmlseclibs ^2.0 -> satisfiable by robrichards/xmlseclibs[2.0.0, 2.0.1, 2.0.x-dev] but these conflict with your requirements or minimum-stability.
    - Installation request for robrichards/wse-php ^2.0 -> satisfiable by robrichards/wse-php[2.0.0, 2.0.1].

composer.json:

composer.json 
{
    "require": {
        "robrichards/xmlseclibs": "^3.0"
    }
veewee commented 7 years ago

@jonaz, what does your comment have to do with this issue and what are you trying to say?

jonaz commented 7 years ago

that xmlseclibs 3 exists with fixes for php 7.1 but robrichards/wse-php is yet to have that new version in its composer.json. So when this repo updates composer.json with new version of xmlseclibs (3) this issue can be closed.

smunuswami commented 7 years ago

is there a workaround for this?

robrichards commented 7 years ago

I will fix this and have a new release out within a day or two

smunuswami commented 7 years ago

Thanks @robrichards

agsotelo commented 7 years ago

Hello @robrichards,

Thanks a lot for this awesome job!. I was wondered if there is a workaround about this?, because i'm in the same situation like @jonaz described it.

Thanks in advanced.

robrichards commented 7 years ago

Released 2.0.2 which supports xmlseclibs >=2

veewee commented 7 years ago

Thanks for your work on this!!!!