diff --git a/composer.json b/composer.json index 972028a..bb4c9e4 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "name": "comodojo/rpcserver", + "name": "pmarcelli/rpcserver", "description": "Extensible XML and JSON(2.0) RPC server", "license": "MIT", "type": "library", @@ -27,12 +27,11 @@ "Comodojo\\RpcServer\\": "src/Comodojo/RpcServer" } }, - "minimum-stability": "dev", "require": { "php": ">=5.6.0", - "comodojo/xmlrpc": "dev-master", - "comodojo/foundation": "dev-master", - "phpseclib/phpseclib": "^2.0" + "pmarcelli/xmlrpc": "dev-xmlrpc_u7320", + "pmarcelli/foundation": "dev-foundation_u7320", + "phpseclib/phpseclib": "^3.0" }, "require-dev": { "phpunit/phpunit": "^4.0|^5.0", diff --git a/src/Comodojo/RpcServer/RpcServer.php b/src/Comodojo/RpcServer/RpcServer.php index 3faef04..b47de3a 100644 --- a/src/Comodojo/RpcServer/RpcServer.php +++ b/src/Comodojo/RpcServer/RpcServer.php @@ -9,7 +9,7 @@ use \Comodojo\Foundation\Logging\Manager as LogManager; use \Comodojo\Xmlrpc\XmlrpcEncoder; use \Comodojo\Xmlrpc\XmlrpcDecoder; -use \phpseclib\Crypt\AES; +use phpseclib3\Crypt\AES; use \Psr\Log\LoggerInterface; use \Comodojo\Exception\RpcException; use \Comodojo\Exception\XmlrpcException; @@ -81,7 +81,8 @@ class RpcServer { /** * Encryption key, in case of encrypted transport - * + * AES key + * Only keys of sizes 16, 24 or 32 supported * @var string */ private $encrypt; @@ -395,7 +396,7 @@ private function uncan($payload) { $this->request_is_encrypted = true; - $aes = new AES(); + $aes = new AES('ecb'); $aes->setKey($this->encrypt); @@ -498,7 +499,7 @@ private function can($response, $error) { if ( $this->request_is_encrypted /* && !empty($encoded) */ ) { - $aes = new AES(); + $aes = new AES('ecb'); $aes->setKey($this->encrypt); diff --git a/tests/RpcServer/XmlRpcEncryptedTransportTest.php b/tests/RpcServer/XmlRpcEncryptedTransportTest.php index 77c2ea2..1c23912 100644 --- a/tests/RpcServer/XmlRpcEncryptedTransportTest.php +++ b/tests/RpcServer/XmlRpcEncryptedTransportTest.php @@ -3,11 +3,12 @@ use \Comodojo\Xmlrpc\XmlrpcEncoder; use \Comodojo\Xmlrpc\XmlrpcDecoder; use \Comodojo\RpcServer\RpcServer; -use \phpseclib\Crypt\AES; +use phpseclib3\Crypt\AES; class XmlRpcEncryptedTransportTest extends \PHPUnit_Framework_TestCase { - protected $key = "solongandthanksforallthefish"; + //Only keys of sizes 16, 24 or 32 supported + protected $key = "solongandthanksforallthefishxxxx"; protected function encodeRequest($method, $parameters) { @@ -15,7 +16,7 @@ protected function encodeRequest($method, $parameters) { $data = $encoder->encodeCall($method, $parameters); - $aes = new AES(); + $aes = new AES('ecb'); $aes->setKey($this->key); @@ -25,7 +26,7 @@ protected function encodeRequest($method, $parameters) { protected function decodeResponse($received) { - $aes = new AES(); + $aes = new AES('ecb'); $aes->setKey($this->key);