File tree Expand file tree Collapse file tree 2 files changed +9
-20
lines changed
Expand file tree Collapse file tree 2 files changed +9
-20
lines changed Original file line number Diff line number Diff line change 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"
Original file line number Diff line number Diff line change 1111
1212namespace CoderCat \JWKToPEM ;
1313
14- use phpseclib \Crypt \RSA ;
15- use phpseclib \Math \BigInteger ;
14+ use phpseclib3 \Crypt \PublicKeyLoader ;
15+ use phpseclib3 \Math \BigInteger ;
1616use CoderCat \JWKToPEM \Util \Base64UrlDecoder ;
1717use CoderCat \JWKToPEM \Exception \JWKConverterException ;
1818
1919class 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}
You can’t perform that action at this time.
0 commit comments