TBSCertList.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. /**
  3. * TBSCertList
  4. *
  5. * PHP version 5
  6. *
  7. * @category File
  8. * @package ASN1
  9. * @author Jim Wigginton <terrafrost@php.net>
  10. * @copyright 2016 Jim Wigginton
  11. * @license http://www.opensource.org/licenses/mit-license.html MIT License
  12. * @link http://phpseclib.sourceforge.net
  13. */
  14. namespace phpseclib\File\ASN1\Maps;
  15. use phpseclib\File\ASN1;
  16. /**
  17. * TBSCertList
  18. *
  19. * @package ASN1
  20. * @author Jim Wigginton <terrafrost@php.net>
  21. * @access public
  22. */
  23. abstract class TBSCertList
  24. {
  25. const MAP = [
  26. 'type' => ASN1::TYPE_SEQUENCE,
  27. 'children' => [
  28. 'version' => [
  29. 'type' => ASN1::TYPE_INTEGER,
  30. 'mapping' => ['v1', 'v2', 'v3'],
  31. 'optional' => true,
  32. 'default' => 'v2'
  33. ],
  34. 'signature' => AlgorithmIdentifier::MAP,
  35. 'issuer' => Name::MAP,
  36. 'thisUpdate' => Time::MAP,
  37. 'nextUpdate' => [
  38. 'optional' => true
  39. ] + Time::MAP,
  40. 'revokedCertificates' => [
  41. 'type' => ASN1::TYPE_SEQUENCE,
  42. 'optional' => true,
  43. 'min' => 0,
  44. 'max' => -1,
  45. 'children' => RevokedCertificate::MAP
  46. ],
  47. 'crlExtensions' => [
  48. 'constant' => 0,
  49. 'optional' => true,
  50. 'explicit' => true
  51. ] + Extensions::MAP
  52. ]
  53. ];
  54. }