rfc8494.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. # This file is being contributed to pyasn1-modules software.
  2. #
  3. # Created by Russ Housley with assistance from asn1ate v.0.6.0.
  4. #
  5. # Copyright (c) 2019, Vigil Security, LLC
  6. # License: http://snmplabs.com/pyasn1/license.html
  7. #
  8. # Multicast Email (MULE) over Allied Communications Publication 142
  9. #
  10. # ASN.1 source from:
  11. # https://www.rfc-editor.org/rfc/rfc8494.txt
  12. from pyasn1.type import namedtype
  13. from pyasn1.type import namedval
  14. from pyasn1.type import tag
  15. from pyasn1.type import univ
  16. id_mmhs_CDT = univ.ObjectIdentifier('1.3.26.0.4406.0.4.2')
  17. class AlgorithmID_ShortForm(univ.Integer):
  18. pass
  19. AlgorithmID_ShortForm.namedValues = namedval.NamedValues(
  20. ('zlibCompress', 0)
  21. )
  22. class ContentType_ShortForm(univ.Integer):
  23. pass
  24. ContentType_ShortForm.namedValues = namedval.NamedValues(
  25. ('unidentified', 0),
  26. ('external', 1),
  27. ('p1', 2),
  28. ('p3', 3),
  29. ('p7', 4),
  30. ('mule', 25)
  31. )
  32. class CompressedContentInfo(univ.Sequence):
  33. pass
  34. CompressedContentInfo.componentType = namedtype.NamedTypes(
  35. namedtype.NamedType('unnamed', univ.Choice(componentType=namedtype.NamedTypes(
  36. namedtype.NamedType('contentType-ShortForm',
  37. ContentType_ShortForm().subtype(explicitTag=tag.Tag(
  38. tag.tagClassContext, tag.tagFormatSimple, 0))),
  39. namedtype.NamedType('contentType-OID',
  40. univ.ObjectIdentifier().subtype(explicitTag=tag.Tag(
  41. tag.tagClassContext, tag.tagFormatSimple, 1)))
  42. ))),
  43. namedtype.NamedType('compressedContent',
  44. univ.OctetString().subtype(explicitTag=tag.Tag(
  45. tag.tagClassContext, tag.tagFormatSimple, 0)))
  46. )
  47. class CompressionAlgorithmIdentifier(univ.Choice):
  48. pass
  49. CompressionAlgorithmIdentifier.componentType = namedtype.NamedTypes(
  50. namedtype.NamedType('algorithmID-ShortForm',
  51. AlgorithmID_ShortForm().subtype(explicitTag=tag.Tag(
  52. tag.tagClassContext, tag.tagFormatSimple, 0))),
  53. namedtype.NamedType('algorithmID-OID',
  54. univ.ObjectIdentifier().subtype(explicitTag=tag.Tag(
  55. tag.tagClassContext, tag.tagFormatSimple, 1)))
  56. )
  57. class CompressedData(univ.Sequence):
  58. pass
  59. CompressedData.componentType = namedtype.NamedTypes(
  60. namedtype.NamedType('compressionAlgorithm', CompressionAlgorithmIdentifier()),
  61. namedtype.NamedType('compressedContentInfo', CompressedContentInfo())
  62. )