| # |
| # This file is part of pyasn1-modules software. |
| # |
| # Created by Russ Housley with assistance from asn1ate v.0.6.0. |
| # |
| # Copyright (c) 2019, Vigil Security, LLC |
| # License: http://snmplabs.com/pyasn1/license.html |
| # |
| # CMS Encrypted Key Package Content Type |
| # |
| # ASN.1 source from: |
| # https://www.rfc-editor.org/rfc/rfc6032.txt |
| # |
| |
| from pyasn1.type import namedtype |
| from pyasn1.type import tag |
| from pyasn1.type import univ |
| |
| from pyasn1_modules import rfc5652 |
| from pyasn1_modules import rfc5083 |
| |
| |
| # Content Decryption Key Identifier attribute |
| |
| id_aa_KP_contentDecryptKeyID = univ.ObjectIdentifier('2.16.840.1.101.2.1.5.66') |
| |
| class ContentDecryptKeyID(univ.OctetString): |
| pass |
| |
| aa_content_decrypt_key_identifier = rfc5652.Attribute() |
| aa_content_decrypt_key_identifier['attrType'] = id_aa_KP_contentDecryptKeyID |
| aa_content_decrypt_key_identifier['attrValues'][0] = ContentDecryptKeyID() |
| |
| |
| # Encrypted Key Package Content Type |
| |
| id_ct_KP_encryptedKeyPkg = univ.ObjectIdentifier('2.16.840.1.101.2.1.2.78.2') |
| |
| class EncryptedKeyPackage(univ.Choice): |
| pass |
| |
| EncryptedKeyPackage.componentType = namedtype.NamedTypes( |
| namedtype.NamedType('encrypted', rfc5652.EncryptedData()), |
| namedtype.NamedType('enveloped', rfc5652.EnvelopedData().subtype( |
| implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), |
| namedtype.NamedType('authEnveloped', rfc5083.AuthEnvelopedData().subtype( |
| implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))) |
| ) |
| |
| |
| # Map of Attribute Type OIDs to Attributes are |
| # added to the ones that are in rfc5652.py |
| |
| _cmsAttributesMapUpdate = { |
| id_aa_KP_contentDecryptKeyID: ContentDecryptKeyID(), |
| } |
| |
| rfc5652.cmsAttributesMap.update(_cmsAttributesMapUpdate) |
| |
| |
| # Map of Content Type OIDs to Content Types are |
| # added to the ones that are in rfc5652.py |
| |
| _cmsContentTypesMapUpdate = { |
| id_ct_KP_encryptedKeyPkg: EncryptedKeyPackage(), |
| } |
| |
| rfc5652.cmsContentTypesMap.update(_cmsContentTypesMapUpdate) |