1<?php
2
3/**
4 * OneAsymmetricKey
5 *
6 * See https://tools.ietf.org/html/rfc5958
7 *
8 * PHP version 5
9 *
10 * @category  File
11 * @package   ASN1
12 * @author    Jim Wigginton <terrafrost@php.net>
13 * @copyright 2016 Jim Wigginton
14 * @license   http://www.opensource.org/licenses/mit-license.html  MIT License
15 * @link      http://phpseclib.sourceforge.net
16 */
17
18namespace phpseclib3\File\ASN1\Maps;
19
20use phpseclib3\File\ASN1;
21
22/**
23 * OneAsymmetricKey
24 *
25 * @package ASN1
26 * @author  Jim Wigginton <terrafrost@php.net>
27 * @access  public
28 */
29abstract class OneAsymmetricKey
30{
31    const MAP = [
32        'type' => ASN1::TYPE_SEQUENCE,
33        'children' => [
34            'version' => [
35                'type' => ASN1::TYPE_INTEGER,
36                'mapping' => ['v1', 'v2']
37            ],
38            'privateKeyAlgorithm' => AlgorithmIdentifier::MAP,
39            'privateKey' => PrivateKey::MAP,
40            'attributes' => [
41                'constant' => 0,
42                'optional' => true,
43                'implicit' => true
44            ] + Attributes::MAP,
45            'publicKey' => [
46                'constant' => 1,
47                'optional' => true,
48                'implicit' => true
49            ] + PublicKey::MAP
50        ]
51    ];
52}
53