| # | |
| # 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) |