PBKDF2params.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. /**
  3. * PBKDF2params
  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. * PBKDF2params
  18. *
  19. * from https://tools.ietf.org/html/rfc2898#appendix-A.3
  20. *
  21. * @package ASN1
  22. * @author Jim Wigginton <terrafrost@php.net>
  23. * @access public
  24. */
  25. abstract class PBKDF2params
  26. {
  27. const MAP = [
  28. 'type' => ASN1::TYPE_SEQUENCE,
  29. 'children' => [
  30. // technically, this is a CHOICE in RFC2898 but the other "choice" is, currently, more of a placeholder
  31. // in the RFC
  32. 'salt'=> ['type' => ASN1::TYPE_OCTET_STRING],
  33. 'iterationCount'=> ['type' => ASN1::TYPE_INTEGER],
  34. 'keyLength' => [
  35. 'type' => ASN1::TYPE_INTEGER,
  36. 'optional' => true
  37. ],
  38. 'prf' => AlgorithmIdentifier::MAP + ['optional' => true]
  39. ]
  40. ];
  41. }