1<?php
2
3/**
4 * ECParameters
5 *
6 * From: https://tools.ietf.org/html/rfc5915
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 * ECParameters
24 *
25 *  ECParameters ::= CHOICE {
26 *    namedCurve         OBJECT IDENTIFIER
27 *    -- implicitCurve   NULL
28 *    -- specifiedCurve  SpecifiedECDomain
29 *  }
30 *    -- implicitCurve and specifiedCurve MUST NOT be used in PKIX.
31 *    -- Details for SpecifiedECDomain can be found in [X9.62].
32 *    -- Any future additions to this CHOICE should be coordinated
33 *    -- with ANSI X9.
34 *
35 * @package ASN1
36 * @author  Jim Wigginton <terrafrost@php.net>
37 * @access  public
38 */
39abstract class ECParameters
40{
41    const MAP = [
42        'type' => ASN1::TYPE_CHOICE,
43        'children' => [
44            'namedCurve' => ['type' => ASN1::TYPE_OBJECT_IDENTIFIER],
45            'implicitCurve' => ['type' => ASN1::TYPE_NULL],
46            'specifiedCurve' => SpecifiedECDomain::MAP
47        ]
48    ];
49}
50