diff --git a/composer.json b/composer.json index a687e7b..39776c7 100644 --- a/composer.json +++ b/composer.json @@ -23,14 +23,21 @@ "php": ">=5.6.0", "ext-json": "*", "guzzlehttp/guzzle": "^6.2.1 || ^7.0.1", - "phpseclib/phpseclib": "^2.0.11", + "phpseclib/phpseclib": "^3.0", + "phpseclib/phpseclib2_compat": "^1.0", "gree/jose": "^2.2.1" }, "autoload": { - "psr-4": { "Hyperwallet\\": "src/Hyperwallet", "ComposerScript\\" : "src/ComposerScript" } + "psr-4": { + "Hyperwallet\\": "src/Hyperwallet", + "ComposerScript\\": "src/ComposerScript" + } }, - "autoload-dev" : { - "psr-4": { "Hyperwallet\\Tests\\" : "tests/Hyperwallet/Tests", "ComposerScript\\" : "src/ComposerScript" } + "autoload-dev": { + "psr-4": { + "Hyperwallet\\Tests\\": "tests/Hyperwallet/Tests", + "ComposerScript\\": "src/ComposerScript" + } }, "require-dev": { "phpunit/phpunit": "^5.7 || ^7.0.0 || ^9.0", diff --git a/src/Hyperwallet/Util/HyperwalletEncryption.php b/src/Hyperwallet/Util/HyperwalletEncryption.php index 73cb652..4c14b15 100644 --- a/src/Hyperwallet/Util/HyperwalletEncryption.php +++ b/src/Hyperwallet/Util/HyperwalletEncryption.php @@ -221,9 +221,18 @@ private function getPrivateKey($privateKeyData) { array_unshift($coefficients, "phoney"); unset($coefficients[0]); - $pemData = (new RSA())->_convertPrivateKey($n, $e, $d, $primes, $exponents, $coefficients); $privateKey = new RSA(); - $privateKey->loadKey($pemData); + $privateKey->loadKey(array( + 'n' => $n, + 'e' => $e, + 'd' => $d, + 'p' => $p, + 'q' => $q, + 'dp' => $dp, + 'dq' => $dq, + 'qi' => $qi + )); + if ($privateKeyData['alg'] == 'RSA-OAEP-256') { $privateKey->setHash('sha256'); $privateKey->setMGFHash('sha256');