rfc8520.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #
  2. # This file is part of pyasn1-modules software.
  3. #
  4. # Created by Russ Housley with assistance from asn1ate v.0.6.0.
  5. # Modified by Russ Housley to add maps for use with opentypes.
  6. #
  7. # Copyright (c) 2019, Vigil Security, LLC
  8. # License: http://snmplabs.com/pyasn1/license.html
  9. #
  10. # X.509 Extensions for MUD URL and MUD Signer;
  11. # Object Identifier for CMS Content Type for a MUD file
  12. #
  13. # ASN.1 source from:
  14. # https://www.rfc-editor.org/rfc/rfc8520.txt
  15. #
  16. from pyasn1.type import char
  17. from pyasn1.type import univ
  18. from pyasn1_modules import rfc5280
  19. from pyasn1_modules import rfc5652
  20. # X.509 Extension for MUD URL
  21. id_pe_mud_url = univ.ObjectIdentifier('1.3.6.1.5.5.7.1.25')
  22. class MUDURLSyntax(char.IA5String):
  23. pass
  24. # X.509 Extension for MUD Signer
  25. id_pe_mudsigner = univ.ObjectIdentifier('1.3.6.1.5.5.7.1.30')
  26. class MUDsignerSyntax(rfc5280.Name):
  27. pass
  28. # Object Identifier for CMS Content Type for a MUD file
  29. id_ct_mudtype = univ.ObjectIdentifier('1.2.840.113549.1.9.16.1.41')
  30. # Map of Certificate Extension OIDs to Extensions added to the
  31. # ones that are in rfc5280.py
  32. _certificateExtensionsMapUpdate = {
  33. id_pe_mud_url: MUDURLSyntax(),
  34. id_pe_mudsigner: MUDsignerSyntax(),
  35. }
  36. rfc5280.certificateExtensionsMap.update(_certificateExtensionsMapUpdate)
  37. # Map of Content Type OIDs to Content Types added to the
  38. # ones that are in rfc5652.py
  39. _cmsContentTypesMapUpdate = {
  40. id_ct_mudtype: univ.OctetString(),
  41. }
  42. rfc5652.cmsContentTypesMap.update(_cmsContentTypesMapUpdate)