Subversion Repositories oidplus

Rev

Rev 846 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. <?php
  2.  
  3. /**
  4.  * GeneralName
  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.  
  16. namespace phpseclib3\File\ASN1\Maps;
  17.  
  18. use phpseclib3\File\ASN1;
  19.  
  20. /**
  21.  * GeneralName
  22.  *
  23.  * @package ASN1
  24.  * @author  Jim Wigginton <terrafrost@php.net>
  25.  * @access  public
  26.  */
  27. abstract class GeneralName
  28. {
  29.     const MAP = [
  30.         'type' => ASN1::TYPE_CHOICE,
  31.         'children' => [
  32.             'otherName' => [
  33.                 'constant' => 0,
  34.                 'optional' => true,
  35.                 'implicit' => true
  36.             ] + AnotherName::MAP,
  37.             'rfc822Name' => [
  38.                 'type' => ASN1::TYPE_IA5_STRING,
  39.                 'constant' => 1,
  40.                 'optional' => true,
  41.                 'implicit' => true
  42.             ],
  43.             'dNSName' => [
  44.                 'type' => ASN1::TYPE_IA5_STRING,
  45.                 'constant' => 2,
  46.                 'optional' => true,
  47.                 'implicit' => true
  48.             ],
  49.             'x400Address' => [
  50.                 'constant' => 3,
  51.                 'optional' => true,
  52.                 'implicit' => true
  53.             ] + ORAddress::MAP,
  54.             'directoryName' => [
  55.                 'constant' => 4,
  56.                 'optional' => true,
  57.                 'explicit' => true
  58.             ] + Name::MAP,
  59.             'ediPartyName' => [
  60.                 'constant' => 5,
  61.                 'optional' => true,
  62.                 'implicit' => true
  63.             ] + EDIPartyName::MAP,
  64.             'uniformResourceIdentifier' => [
  65.                 'type' => ASN1::TYPE_IA5_STRING,
  66.                 'constant' => 6,
  67.                 'optional' => true,
  68.                 'implicit' => true
  69.             ],
  70.             'iPAddress' => [
  71.                 'type' => ASN1::TYPE_OCTET_STRING,
  72.                 'constant' => 7,
  73.                 'optional' => true,
  74.                 'implicit' => true
  75.             ],
  76.             'registeredID' => [
  77.                 'type' => ASN1::TYPE_OBJECT_IDENTIFIER,
  78.                 'constant' => 8,
  79.                 'optional' => true,
  80.                 'implicit' => true
  81.             ]
  82.         ]
  83.     ];
  84. }
  85.