PluginProbe ʕ •ᴥ•ʔ
JetBackup – Backup, Restore & Migrate / 3.1.23.3
JetBackup – Backup, Restore & Migrate v3.1.23.3
3.1.23.3 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 / DSA / Formats / Keys / Raw.php
backup / src / JetBackup / 3rdparty / phpseclib3 / Crypt / DSA / Formats / Keys Last commit date
.htaccess 1 year ago OpenSSH.php 1 year ago PKCS1.php 1 year ago PKCS8.php 1 year ago PuTTY.php 1 year ago Raw.php 1 year ago XML.php 1 year ago index.html 1 year ago web.config 1 year ago
Raw.php
75 lines
1 <?php
2
3 /**
4 * Raw DSA Key Handler
5 *
6 * PHP version 5
7 *
8 * Reads and creates arrays as DSA keys
9 *
10 * @author Jim Wigginton <terrafrost@php.net>
11 * @copyright 2015 Jim Wigginton
12 * @license http://www.opensource.org/licenses/mit-license.html MIT License
13 * @link http://phpseclib.sourceforge.net
14 */
15
16 declare(strict_types=1);
17
18 namespace phpseclib3\Crypt\DSA\Formats\Keys;
19
20 use phpseclib3\Exception\UnexpectedValueException;
21 use phpseclib3\Math\BigInteger;
22
23 /**
24 * Raw DSA Key Handler
25 *
26 * @author Jim Wigginton <terrafrost@php.net>
27 */
28 abstract class Raw
29 {
30 /**
31 * Break a public or private key down into its constituent components
32 *
33 * @param string|array $key
34 */
35 public static function load($key, ?string $password = null): array
36 {
37 if (!is_array($key)) {
38 throw new UnexpectedValueException('Key should be a array - not a ' . gettype($key));
39 }
40
41 switch (true) {
42 case !isset($key['p']) || !isset($key['q']) || !isset($key['g']):
43 case !$key['p'] instanceof BigInteger:
44 case !$key['q'] instanceof BigInteger:
45 case !$key['g'] instanceof BigInteger:
46 case !isset($key['x']) && !isset($key['y']):
47 case isset($key['x']) && !$key['x'] instanceof BigInteger:
48 case isset($key['y']) && !$key['y'] instanceof BigInteger:
49 throw new UnexpectedValueException('Key appears to be malformed');
50 }
51
52 $options = ['p' => 1, 'q' => 1, 'g' => 1, 'x' => 1, 'y' => 1];
53
54 return array_intersect_key($key, $options);
55 }
56
57 /**
58 * Convert a private key to the appropriate format.
59 *
60 * @param string $password optional
61 */
62 public static function savePrivateKey(BigInteger $p, BigInteger $q, BigInteger $g, BigInteger $y, BigInteger $x, string $password = ''): string
63 {
64 return compact('p', 'q', 'g', 'y', 'x');
65 }
66
67 /**
68 * Convert a public key to the appropriate format
69 */
70 public static function savePublicKey(BigInteger $p, BigInteger $q, BigInteger $g, BigInteger $y): string
71 {
72 return compact('p', 'q', 'g', 'y');
73 }
74 }
75