rfc6210.py 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #
  2. # This file is part of pyasn1-modules software.
  3. #
  4. # Created by Russ Housley.
  5. #
  6. # Copyright (c) 2019, Vigil Security, LLC
  7. # License: http://snmplabs.com/pyasn1/license.html
  8. #
  9. # Experiment for Hash Functions with Parameters in the CMS
  10. #
  11. # ASN.1 source from:
  12. # https://www.rfc-editor.org/rfc/rfc6210.txt
  13. #
  14. from pyasn1.type import constraint
  15. from pyasn1.type import univ
  16. from pyasn1_modules import rfc5280
  17. id_alg_MD5_XOR_EXPERIMENT = univ.ObjectIdentifier('1.2.840.113549.1.9.16.3.13')
  18. class MD5_XOR_EXPERIMENT(univ.OctetString):
  19. pass
  20. MD5_XOR_EXPERIMENT.subtypeSpec = constraint.ValueSizeConstraint(64, 64)
  21. mda_xor_md5_EXPERIMENT = rfc5280.AlgorithmIdentifier()
  22. mda_xor_md5_EXPERIMENT['algorithm'] = id_alg_MD5_XOR_EXPERIMENT
  23. mda_xor_md5_EXPERIMENT['parameters'] = MD5_XOR_EXPERIMENT()
  24. # Map of Algorithm Identifier OIDs to Parameters added to the
  25. # ones that are in rfc5280.py.
  26. _algorithmIdentifierMapUpdate = {
  27. id_alg_MD5_XOR_EXPERIMENT: MD5_XOR_EXPERIMENT(),
  28. }
  29. rfc5280.algorithmIdentifierMap.update(_algorithmIdentifierMapUpdate)