rfc2876.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. # KEA and SKIPJACK Algorithms in CMS
  10. #
  11. # ASN.1 source from:
  12. # https://www.rfc-editor.org/rfc/rfc2876.txt
  13. #
  14. from pyasn1.type import namedtype
  15. from pyasn1.type import univ
  16. from pyasn1_modules import rfc5280
  17. from pyasn1_modules import rfc5751
  18. id_fortezzaConfidentialityAlgorithm = univ.ObjectIdentifier('2.16.840.1.101.2.1.1.4')
  19. id_fortezzaWrap80 = univ.ObjectIdentifier('2.16.840.1.101.2.1.1.23')
  20. id_kEAKeyEncryptionAlgorithm = univ.ObjectIdentifier('2.16.840.1.101.2.1.1.24')
  21. id_keyExchangeAlgorithm = univ.ObjectIdentifier('2.16.840.1.101.2.1.1.22')
  22. class Skipjack_Parm(univ.Sequence):
  23. componentType = namedtype.NamedTypes(
  24. namedtype.NamedType('initialization-vector', univ.OctetString())
  25. )
  26. # Update the Algorithm Identifier map in rfc5280.py.
  27. _algorithmIdentifierMapUpdate = {
  28. id_fortezzaConfidentialityAlgorithm: Skipjack_Parm(),
  29. id_kEAKeyEncryptionAlgorithm: rfc5280.AlgorithmIdentifier(),
  30. }
  31. rfc5280.algorithmIdentifierMap.update(_algorithmIdentifierMapUpdate)
  32. # Update the SMIMECapabilities Attribute map in rfc5751.py
  33. _smimeCapabilityMapUpdate = {
  34. id_kEAKeyEncryptionAlgorithm: rfc5280.AlgorithmIdentifier(),
  35. }
  36. rfc5751.smimeCapabilityMap.update(_smimeCapabilityMapUpdate)