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 / EC / Formats / Signature / ASN1.php
backup / src / JetBackup / 3rdparty / phpseclib3 / Crypt / EC / Formats / Signature Last commit date
.htaccess 1 year ago ASN1.php 1 year ago IEEE.php 1 year ago Raw.php 1 year ago SSH2.php 1 year ago index.html 1 year ago web.config 1 year ago
ASN1.php
60 lines
1 <?php
2
3 /**
4 * ASN1 Signature Handler
5 *
6 * PHP version 5
7 *
8 * Handles signatures in the format described in
9 * https://tools.ietf.org/html/rfc3279#section-2.2.3
10 *
11 * @author Jim Wigginton <terrafrost@php.net>
12 * @copyright 2016 Jim Wigginton
13 * @license http://www.opensource.org/licenses/mit-license.html MIT License
14 * @link http://phpseclib.sourceforge.net
15 */
16
17 declare(strict_types=1);
18
19 namespace phpseclib3\Crypt\EC\Formats\Signature;
20
21 use phpseclib3\File\ASN1 as Encoder;
22 use phpseclib3\File\ASN1\Maps\EcdsaSigValue;
23 use phpseclib3\Math\BigInteger;
24
25 /**
26 * ASN1 Signature Handler
27 *
28 * @author Jim Wigginton <terrafrost@php.net>
29 */
30 abstract class ASN1
31 {
32 /**
33 * Loads a signature
34 *
35 * @return array
36 */
37 public static function load(string $sig)
38 {
39 if (!is_string($sig)) {
40 return false;
41 }
42
43 $decoded = Encoder::decodeBER($sig);
44 if (empty($decoded)) {
45 return false;
46 }
47 $components = Encoder::asn1map($decoded[0], EcdsaSigValue::MAP);
48
49 return $components;
50 }
51
52 /**
53 * Returns a signature in the appropriate format
54 */
55 public static function save(BigInteger $r, BigInteger $s): string
56 {
57 return Encoder::encodeDER(compact('r', 's'), EcdsaSigValue::MAP);
58 }
59 }
60