1<?php
2
3/**
4 * TBSCertList
5 *
6 * PHP version 5
7 *
8 * @category  File
9 * @package   ASN1
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
16namespace phpseclib3\File\ASN1\Maps;
17
18use phpseclib3\File\ASN1;
19
20/**
21 * TBSCertList
22 *
23 * @package ASN1
24 * @author  Jim Wigginton <terrafrost@php.net>
25 * @access  public
26 */
27abstract class TBSCertList
28{
29    const MAP = [
30        'type' => ASN1::TYPE_SEQUENCE,
31        'children' => [
32            'version' => [
33                'type' => ASN1::TYPE_INTEGER,
34                'mapping' => ['v1', 'v2', 'v3'],
35                'optional' => true,
36                'default' => 'v2'
37            ],
38            'signature' => AlgorithmIdentifier::MAP,
39            'issuer' => Name::MAP,
40            'thisUpdate' => Time::MAP,
41            'nextUpdate' => [
42                'optional' => true
43            ] + Time::MAP,
44            'revokedCertificates' => [
45                'type' => ASN1::TYPE_SEQUENCE,
46                'optional' => true,
47                'min' => 0,
48                'max' => -1,
49                'children' => RevokedCertificate::MAP
50            ],
51            'crlExtensions' => [
52                'constant' => 0,
53                'optional' => true,
54                'explicit' => true
55            ] + Extensions::MAP
56        ]
57    ];
58}
59