PluginProbe ʕ •ᴥ•ʔ
JetBackup – Backup, Restore & Migrate / trunk
JetBackup – Backup, Restore & Migrate vtrunk
3.1.22.4 3.1.22.3 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.8.1 1.4.9 1.5.0 1.5.1 1.5.1.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.10 1.6.11 1.6.12 1.6.13 1.6.15 1.6.5.1 1.6.8.8 1.6.9 1.6.9.1 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7.5 2.0.8.7 2.0.9.11 2.0.9.14 2.0.9.15 2.0.9.6 2.0.9.7 2.0.9.9 3.1.10.7 3.1.11.1 3.1.12.3 3.1.13.4 3.1.14.17 3.1.15.4 3.1.16.1 3.1.17.5 3.1.18.10 3.1.18.8 3.1.18.9 3.1.19.8 3.1.20.3 3.1.21.3 3.1.7.9 3.1.9.2 trunk 1.1.90 1.1.91 1.2.0 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2
backup / src / JetBackup / 3rdparty / phpseclib3 / Crypt / Common / Formats / Keys / JWK.php
backup / src / JetBackup / 3rdparty / phpseclib3 / Crypt / Common / Formats / Keys Last commit date
.htaccess 1 year ago JWK.php 1 year ago OpenSSH.php 1 year ago PKCS.php 1 year ago PKCS1.php 1 year ago PKCS8.php 1 year ago PuTTY.php 1 year ago index.html 1 year ago web.config 1 year ago
JWK.php
61 lines
1 <?php
2
3 /**
4 * JSON Web Key (RFC7517) Handler
5 *
6 * PHP version 5
7 *
8 * @author Jim Wigginton <terrafrost@php.net>
9 * @copyright 2015 Jim Wigginton
10 * @license http://www.opensource.org/licenses/mit-license.html MIT License
11 * @link http://phpseclib.sourceforge.net
12 */
13
14 declare(strict_types=1);
15
16 namespace phpseclib3\Crypt\Common\Formats\Keys;
17
18 use phpseclib3\Common\Functions\Strings;
19
20 /**
21 * JSON Web Key Formatted Key Handler
22 *
23 * @author Jim Wigginton <terrafrost@php.net>
24 */
25 abstract class JWK
26 {
27 /**
28 * Break a public or private key down into its constituent components
29 *
30 * @param string|array $key
31 */
32 protected static function loadHelper($key): \stdClass
33 {
34 if (!Strings::is_stringable($key)) {
35 throw new \UnexpectedValueException('Key should be a string - not a ' . gettype($key));
36 }
37
38 $key = preg_replace('#\s#', '', $key); // remove whitespace
39
40 $key = json_decode($key, null, 512, JSON_THROW_ON_ERROR);
41
42 if (isset($key->kty)) {
43 return $key;
44 }
45
46 if (count($key->keys) != 1) {
47 throw new \RuntimeException('Although the JWK key format supports multiple keys phpseclib does not');
48 }
49
50 return $key->keys[0];
51 }
52
53 /**
54 * Wrap a key appropriately
55 */
56 protected static function wrapKey(array $key, array $options): string
57 {
58 return json_encode(['keys' => [$key + $options]]);
59 }
60 }
61