1<?php
2
3/**
4 * RSASSA_PSS_params
5 *
6 * As defined in https://tools.ietf.org/html/rfc4055#section-3.1
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 * RSASSA_PSS_params
24 *
25 * @package ASN1
26 * @author  Jim Wigginton <terrafrost@php.net>
27 * @access  public
28 */
29abstract class RSASSA_PSS_params
30{
31    const MAP = [
32        'type' => ASN1::TYPE_SEQUENCE,
33        'children' => [
34            'hashAlgorithm' => [
35                'constant' => 0,
36                'optional' => true,
37                'explicit' => true,
38                //'default'  => 'sha1Identifier'
39            ] + HashAlgorithm::MAP,
40            'maskGenAlgorithm' => [
41                'constant' => 1,
42                'optional' => true,
43                'explicit' => true,
44                //'default'  => 'mgf1SHA1Identifier'
45            ] + MaskGenAlgorithm::MAP,
46            'saltLength' => [
47                'type' => ASN1::TYPE_INTEGER,
48                'constant' => 2,
49                'optional' => true,
50                'explicit' => true,
51                'default' => 20
52            ],
53            'trailerField' => [
54                'type' => ASN1::TYPE_INTEGER,
55                'constant' => 3,
56                'optional' => true,
57                'explicit' => true,
58                'default' => 1
59            ]
60        ]
61    ];
62}
63