rfc8479.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. #
  6. # Copyright (c) 2019, Vigil Security, LLC
  7. # License: http://snmplabs.com/pyasn1/license.html
  8. #
  9. # Storing Validation Parameters in PKCS#8
  10. #
  11. # ASN.1 source from:
  12. # https://www.rfc-editor.org/rfc/rfc8479.txt
  13. #
  14. from pyasn1.type import namedtype
  15. from pyasn1.type import univ
  16. from pyasn1_modules import rfc5652
  17. id_attr_validation_parameters = univ.ObjectIdentifier('1.3.6.1.4.1.2312.18.8.1')
  18. class ValidationParams(univ.Sequence):
  19. pass
  20. ValidationParams.componentType = namedtype.NamedTypes(
  21. namedtype.NamedType('hashAlg', univ.ObjectIdentifier()),
  22. namedtype.NamedType('seed', univ.OctetString())
  23. )
  24. at_validation_parameters = rfc5652.Attribute()
  25. at_validation_parameters['attrType'] = id_attr_validation_parameters
  26. at_validation_parameters['attrValues'][0] = ValidationParams()
  27. # Map of Attribute Type OIDs to Attributes added to the
  28. # ones that are in rfc5652.py
  29. _cmsAttributesMapUpdate = {
  30. id_attr_validation_parameters: ValidationParams(),
  31. }
  32. rfc5652.cmsAttributesMap.update(_cmsAttributesMapUpdate)