PluginProbe ʕ •ᴥ•ʔ
JetBackup – Backup, Restore & Migrate / 3.1.13.4
JetBackup – Backup, Restore & Migrate v3.1.13.4
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 / DH / PrivateKey.php
backup / src / JetBackup / 3rdparty / phpseclib3 / Crypt / DH Last commit date
Formats 9 months ago .htaccess 9 months ago Parameters.php 9 months ago PrivateKey.php 9 months ago PublicKey.php 9 months ago index.html 9 months ago web.config 9 months ago
PrivateKey.php
77 lines
1 <?php
2
3 /**
4 * DH Private Key
5 *
6 * @author Jim Wigginton <terrafrost@php.net>
7 * @copyright 2015 Jim Wigginton
8 * @license http://www.opensource.org/licenses/mit-license.html MIT License
9 * @link http://phpseclib.sourceforge.net
10 */
11
12 declare(strict_types=1);
13
14 namespace phpseclib3\Crypt\DH;
15
16 use phpseclib3\Crypt\Common;
17 use phpseclib3\Crypt\DH;
18 use phpseclib3\Math\BigInteger;
19
20 /**
21 * DH Private Key
22 *
23 * @author Jim Wigginton <terrafrost@php.net>
24 */
25 final class PrivateKey extends DH
26 {
27 use Common\Traits\PasswordProtected;
28
29 /**
30 * Private Key
31 *
32 * @var BigInteger
33 */
34 protected $privateKey;
35
36 /**
37 * Public Key
38 *
39 * @var BigInteger
40 */
41 protected $publicKey;
42
43 /**
44 * Returns the public key
45 *
46 * @return DH\PublicKey
47 */
48 public function getPublicKey(): PublicKey
49 {
50 $type = self::validatePlugin('Keys', 'PKCS8', 'savePublicKey');
51
52 if (!isset($this->publicKey)) {
53 $this->publicKey = $this->base->powMod($this->privateKey, $this->prime);
54 }
55
56 $key = $type::savePublicKey($this->prime, $this->base, $this->publicKey);
57
58 return DH::loadFormat('PKCS8', $key);
59 }
60
61 /**
62 * Returns the private key
63 *
64 * @param array $options optional
65 */
66 public function toString(string $type, array $options = []): string
67 {
68 $type = self::validatePlugin('Keys', $type, 'savePrivateKey');
69
70 if (!isset($this->publicKey)) {
71 $this->publicKey = $this->base->powMod($this->privateKey, $this->prime);
72 }
73
74 return $type::savePrivateKey($this->prime, $this->base, $this->privateKey, $this->publicKey, $this->password, $options);
75 }
76 }
77