Skip to content

Commit 4b3cdcf

Browse files
Maohao Ran (ext.)Maohao Ran (ext.)
authored andcommitted
Update phpseclib to 3.+
1 parent f409f55 commit 4b3cdcf

File tree

2 files changed

+9
-20
lines changed

2 files changed

+9
-20
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
],
1212
"require": {
1313
"php": ">=7.1",
14-
"phpseclib/phpseclib": "~2.0"
14+
"phpseclib/phpseclib": "^3.0"
1515
},
1616
"require-dev": {
1717
"phpunit/phpunit": "^7.0"

src/JWKConverter.php

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,14 @@
1111

1212
namespace CoderCat\JWKToPEM;
1313

14-
use phpseclib\Crypt\RSA;
15-
use phpseclib\Math\BigInteger;
14+
use phpseclib3\Crypt\PublicKeyLoader;
15+
use phpseclib3\Math\BigInteger;
1616
use CoderCat\JWKToPEM\Util\Base64UrlDecoder;
1717
use CoderCat\JWKToPEM\Exception\JWKConverterException;
1818

1919
class JWKConverter
2020
{
2121

22-
/** @var Base64UrlDecoder */
23-
private $base64UrlDecoder;
24-
25-
public function __construct(Base64UrlDecoder $base64UrlDecoder = null)
26-
{
27-
$this->base64UrlDecoder = $base64UrlDecoder ?? new Base64UrlDecoder();
28-
}
29-
3022
/**
3123
* @param array $jwkSet
3224
* @return string[]
@@ -68,15 +60,12 @@ public function toPEM(array $jwk): string
6860
throw new JWKConverterException('Public key is currently only supported.');
6961
}
7062

71-
$rsa = new RSA();
72-
$rsa->loadKey(
73-
[
74-
'e' => new BigInteger(base64_decode($jwk['e']), 256),
75-
'n' => new BigInteger($this->base64UrlDecoder->decode($jwk['n']), 256)
76-
]
77-
);
78-
79-
return $rsa->getPublicKey();
63+
$base64UrlDecoder = new Base64UrlDecoder();
64+
65+
return PublicKeyLoader::load([
66+
'e' => new BigInteger(base64_decode($jwk['e']), 256),
67+
'n' => new BigInteger($base64UrlDecoder->decode($jwk['n']), 256)
68+
]);
8069
}
8170

8271
}

0 commit comments

Comments
 (0)