Rev 846 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
827 | daniel-mar | 1 | <?php |
2 | |||
3 | /** |
||
4 | * RSAPrivateKey |
||
5 | * |
||
6 | * PHP version 5 |
||
7 | * |
||
874 | daniel-mar | 8 | * @category File |
9 | * @package ASN1 |
||
827 | daniel-mar | 10 | * @author Jim Wigginton <terrafrost@php.net> |
11 | * @copyright 2016 Jim Wigginton |
||
12 | * @license http://www.opensource.org/licenses/mit-license.html MIT License |
||
13 | * @link http://phpseclib.sourceforge.net |
||
14 | */ |
||
15 | |||
16 | namespace phpseclib3\File\ASN1\Maps; |
||
17 | |||
18 | use phpseclib3\File\ASN1; |
||
19 | |||
20 | /** |
||
21 | * RSAPrivateKey |
||
22 | * |
||
874 | daniel-mar | 23 | * @package ASN1 |
827 | daniel-mar | 24 | * @author Jim Wigginton <terrafrost@php.net> |
874 | daniel-mar | 25 | * @access public |
827 | daniel-mar | 26 | */ |
27 | abstract class RSAPrivateKey |
||
28 | { |
||
29 | // version must be multi if otherPrimeInfos present |
||
30 | const MAP = [ |
||
31 | 'type' => ASN1::TYPE_SEQUENCE, |
||
32 | 'children' => [ |
||
33 | 'version' => [ |
||
34 | 'type' => ASN1::TYPE_INTEGER, |
||
35 | 'mapping' => ['two-prime', 'multi'] |
||
36 | ], |
||
37 | 'modulus' => ['type' => ASN1::TYPE_INTEGER], // n |
||
38 | 'publicExponent' => ['type' => ASN1::TYPE_INTEGER], // e |
||
39 | 'privateExponent' => ['type' => ASN1::TYPE_INTEGER], // d |
||
40 | 'prime1' => ['type' => ASN1::TYPE_INTEGER], // p |
||
41 | 'prime2' => ['type' => ASN1::TYPE_INTEGER], // q |
||
42 | 'exponent1' => ['type' => ASN1::TYPE_INTEGER], // d mod (p-1) |
||
43 | 'exponent2' => ['type' => ASN1::TYPE_INTEGER], // d mod (q-1) |
||
44 | 'coefficient' => ['type' => ASN1::TYPE_INTEGER], // (inverse of q) mod p |
||
45 | 'otherPrimeInfos' => OtherPrimeInfos::MAP + ['optional' => true] |
||
46 | ] |
||
47 | ]; |
||
48 | } |