123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736 |
- #
- # This file is part of pyasn1-modules software.
- #
- # Created by Russ Housley.
- #
- # Copyright (c) 2019, Vigil Security, LLC
- # License: http://snmplabs.com/pyasn1/license.html
- #
- # NSA's CMS Key Management Attributes
- #
- # ASN.1 source from:
- # https://www.rfc-editor.org/rfc/rfc7906.txt
- # https://www.rfc-editor.org/errata/eid5850
- #
- from pyasn1.type import char
- from pyasn1.type import constraint
- from pyasn1.type import namedtype
- from pyasn1.type import namedval
- from pyasn1.type import tag
- from pyasn1.type import univ
- from pyasn1_modules import rfc2634
- from pyasn1_modules import rfc4108
- from pyasn1_modules import rfc5280
- from pyasn1_modules import rfc5652
- from pyasn1_modules import rfc6010
- from pyasn1_modules import rfc6019
- from pyasn1_modules import rfc7191
- MAX = float('inf')
- # Imports From RFC 2634
- id_aa_contentHint = rfc2634.id_aa_contentHint
- ContentHints = rfc2634.ContentHints
- id_aa_securityLabel = rfc2634.id_aa_securityLabel
- SecurityPolicyIdentifier = rfc2634.SecurityPolicyIdentifier
- SecurityClassification = rfc2634.SecurityClassification
- ESSPrivacyMark = rfc2634.ESSPrivacyMark
- SecurityCategories= rfc2634.SecurityCategories
- ESSSecurityLabel = rfc2634.ESSSecurityLabel
- # Imports From RFC 4108
- id_aa_communityIdentifiers = rfc4108.id_aa_communityIdentifiers
- CommunityIdentifier = rfc4108.CommunityIdentifier
- CommunityIdentifiers = rfc4108.CommunityIdentifiers
- # Imports From RFC 5280
- AlgorithmIdentifier = rfc5280.AlgorithmIdentifier
- Name = rfc5280.Name
- Certificate = rfc5280.Certificate
- GeneralNames = rfc5280.GeneralNames
- GeneralName = rfc5280.GeneralName
- SubjectInfoAccessSyntax = rfc5280.SubjectInfoAccessSyntax
- id_pkix = rfc5280.id_pkix
- id_pe = rfc5280.id_pe
- id_pe_subjectInfoAccess = rfc5280.id_pe_subjectInfoAccess
- # Imports From RFC 6010
- CMSContentConstraints = rfc6010.CMSContentConstraints
- # Imports From RFC 6019
- BinaryTime = rfc6019.BinaryTime
- id_aa_binarySigningTime = rfc6019.id_aa_binarySigningTime
- BinarySigningTime = rfc6019.BinarySigningTime
- # Imports From RFC 5652
- Attribute = rfc5652.Attribute
- CertificateSet = rfc5652.CertificateSet
- CertificateChoices = rfc5652.CertificateChoices
- id_contentType = rfc5652.id_contentType
- ContentType = rfc5652.ContentType
- id_messageDigest = rfc5652.id_messageDigest
- MessageDigest = rfc5652.MessageDigest
- # Imports From RFC 7191
- SIREntityName = rfc7191.SIREntityName
- id_aa_KP_keyPkgIdAndReceiptReq = rfc7191.id_aa_KP_keyPkgIdAndReceiptReq
- KeyPkgIdentifierAndReceiptReq = rfc7191.KeyPkgIdentifierAndReceiptReq
- # Key Province Attribute
- id_aa_KP_keyProvinceV2 = univ.ObjectIdentifier('2.16.840.1.101.2.1.5.71')
- class KeyProvinceV2(univ.ObjectIdentifier):
- pass
- aa_keyProvince_v2 = Attribute()
- aa_keyProvince_v2['attrType'] = id_aa_KP_keyProvinceV2
- aa_keyProvince_v2['attrValues'][0] = KeyProvinceV2()
-
- # Manifest Attribute
- id_aa_KP_manifest = univ.ObjectIdentifier('2.16.840.1.101.2.1.5.72')
- class ShortTitle(char.PrintableString):
- pass
- class Manifest(univ.SequenceOf):
- pass
- Manifest.componentType = ShortTitle()
- Manifest.subtypeSpec=constraint.ValueSizeConstraint(1, MAX)
- aa_manifest = Attribute()
- aa_manifest['attrType'] = id_aa_KP_manifest
- aa_manifest['attrValues'][0] = Manifest()
- # Key Algorithm Attribute
- id_kma_keyAlgorithm = univ.ObjectIdentifier('2.16.840.1.101.2.1.13.1')
- class KeyAlgorithm(univ.Sequence):
- pass
- KeyAlgorithm.componentType = namedtype.NamedTypes(
- namedtype.NamedType('keyAlg', univ.ObjectIdentifier()),
- namedtype.OptionalNamedType('checkWordAlg', univ.ObjectIdentifier().subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))),
- namedtype.OptionalNamedType('crcAlg', univ.ObjectIdentifier().subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2)))
- )
- aa_keyAlgorithm = Attribute()
- aa_keyAlgorithm['attrType'] = id_kma_keyAlgorithm
- aa_keyAlgorithm['attrValues'][0] = KeyAlgorithm()
- # User Certificate Attribute
- id_at_userCertificate = univ.ObjectIdentifier('2.5.4.36')
- aa_userCertificate = Attribute()
- aa_userCertificate['attrType'] = id_at_userCertificate
- aa_userCertificate['attrValues'][0] = Certificate()
- # Key Package Receivers Attribute
- id_kma_keyPkgReceiversV2 = univ.ObjectIdentifier('2.16.840.1.101.2.1.13.16')
- class KeyPkgReceiver(univ.Choice):
- pass
- KeyPkgReceiver.componentType = namedtype.NamedTypes(
- namedtype.NamedType('sirEntity', SIREntityName().subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))),
- namedtype.NamedType('community', CommunityIdentifier().subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1)))
- )
- class KeyPkgReceiversV2(univ.SequenceOf):
- pass
- KeyPkgReceiversV2.componentType = KeyPkgReceiver()
- KeyPkgReceiversV2.subtypeSpec=constraint.ValueSizeConstraint(1, MAX)
- aa_keyPackageReceivers_v2 = Attribute()
- aa_keyPackageReceivers_v2['attrType'] = id_kma_keyPkgReceiversV2
- aa_keyPackageReceivers_v2['attrValues'][0] = KeyPkgReceiversV2()
- # TSEC Nomenclature Attribute
- id_kma_TSECNomenclature = univ.ObjectIdentifier('2.16.840.1.101.2.1.13.3')
- class CharEdition(char.PrintableString):
- pass
- class CharEditionRange(univ.Sequence):
- pass
- CharEditionRange.componentType = namedtype.NamedTypes(
- namedtype.NamedType('firstCharEdition', CharEdition()),
- namedtype.NamedType('lastCharEdition', CharEdition())
- )
- class NumEdition(univ.Integer):
- pass
- NumEdition.subtypeSpec = constraint.ValueRangeConstraint(0, 308915776)
- class NumEditionRange(univ.Sequence):
- pass
- NumEditionRange.componentType = namedtype.NamedTypes(
- namedtype.NamedType('firstNumEdition', NumEdition()),
- namedtype.NamedType('lastNumEdition', NumEdition())
- )
- class EditionID(univ.Choice):
- pass
- EditionID.componentType = namedtype.NamedTypes(
- namedtype.NamedType('char', univ.Choice(componentType=namedtype.NamedTypes(
- namedtype.NamedType('charEdition', CharEdition().subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))),
- namedtype.NamedType('charEditionRange', CharEditionRange().subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 2)))
- ))
- ),
- namedtype.NamedType('num', univ.Choice(componentType=namedtype.NamedTypes(
- namedtype.NamedType('numEdition', NumEdition().subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 3))),
- namedtype.NamedType('numEditionRange', NumEditionRange().subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 4)))
- ))
- )
- )
- class Register(univ.Integer):
- pass
- Register.subtypeSpec = constraint.ValueRangeConstraint(0, 2147483647)
- class RegisterRange(univ.Sequence):
- pass
- RegisterRange.componentType = namedtype.NamedTypes(
- namedtype.NamedType('firstRegister', Register()),
- namedtype.NamedType('lastRegister', Register())
- )
- class RegisterID(univ.Choice):
- pass
- RegisterID.componentType = namedtype.NamedTypes(
- namedtype.NamedType('register', Register().subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 5))),
- namedtype.NamedType('registerRange', RegisterRange().subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 6)))
- )
- class SegmentNumber(univ.Integer):
- pass
- SegmentNumber.subtypeSpec = constraint.ValueRangeConstraint(1, 127)
- class SegmentRange(univ.Sequence):
- pass
- SegmentRange.componentType = namedtype.NamedTypes(
- namedtype.NamedType('firstSegment', SegmentNumber()),
- namedtype.NamedType('lastSegment', SegmentNumber())
- )
- class SegmentID(univ.Choice):
- pass
- SegmentID.componentType = namedtype.NamedTypes(
- namedtype.NamedType('segmentNumber', SegmentNumber().subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 7))),
- namedtype.NamedType('segmentRange', SegmentRange().subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 8)))
- )
- class TSECNomenclature(univ.Sequence):
- pass
- TSECNomenclature.componentType = namedtype.NamedTypes(
- namedtype.NamedType('shortTitle', ShortTitle()),
- namedtype.OptionalNamedType('editionID', EditionID()),
- namedtype.OptionalNamedType('registerID', RegisterID()),
- namedtype.OptionalNamedType('segmentID', SegmentID())
- )
- aa_tsecNomenclature = Attribute()
- aa_tsecNomenclature['attrType'] = id_kma_TSECNomenclature
- aa_tsecNomenclature['attrValues'][0] = TSECNomenclature()
- # Key Purpose Attribute
- id_kma_keyPurpose = univ.ObjectIdentifier('2.16.840.1.101.2.1.13.13')
- class KeyPurpose(univ.Enumerated):
- pass
- KeyPurpose.namedValues = namedval.NamedValues(
- ('n-a', 0),
- ('a', 65),
- ('b', 66),
- ('l', 76),
- ('m', 77),
- ('r', 82),
- ('s', 83),
- ('t', 84),
- ('v', 86),
- ('x', 88),
- ('z', 90)
- )
- aa_keyPurpose = Attribute()
- aa_keyPurpose['attrType'] = id_kma_keyPurpose
- aa_keyPurpose['attrValues'][0] = KeyPurpose()
- # Key Use Attribute
- id_kma_keyUse = univ.ObjectIdentifier('2.16.840.1.101.2.1.13.14')
- class KeyUse(univ.Enumerated):
- pass
- KeyUse.namedValues = namedval.NamedValues(
- ('n-a', 0),
- ('ffk', 1),
- ('kek', 2),
- ('kpk', 3),
- ('msk', 4),
- ('qkek', 5),
- ('tek', 6),
- ('tsk', 7),
- ('trkek', 8),
- ('nfk', 9),
- ('effk', 10),
- ('ebfk', 11),
- ('aek', 12),
- ('wod', 13),
- ('kesk', 246),
- ('eik', 247),
- ('ask', 248),
- ('kmk', 249),
- ('rsk', 250),
- ('csk', 251),
- ('sak', 252),
- ('rgk', 253),
- ('cek', 254),
- ('exk', 255)
- )
- aa_keyUse = Attribute()
- aa_keyPurpose['attrType'] = id_kma_keyUse
- aa_keyPurpose['attrValues'][0] = KeyUse()
- # Transport Key Attribute
- id_kma_transportKey = univ.ObjectIdentifier('2.16.840.1.101.2.1.13.15')
- class TransOp(univ.Enumerated):
- pass
- TransOp.namedValues = namedval.NamedValues(
- ('transport', 1),
- ('operational', 2)
- )
- aa_transportKey = Attribute()
- aa_transportKey['attrType'] = id_kma_transportKey
- aa_transportKey['attrValues'][0] = TransOp()
- # Key Distribution Period Attribute
- id_kma_keyDistPeriod = univ.ObjectIdentifier('2.16.840.1.101.2.1.13.5')
- class KeyDistPeriod(univ.Sequence):
- pass
- KeyDistPeriod.componentType = namedtype.NamedTypes(
- namedtype.OptionalNamedType('doNotDistBefore', BinaryTime().subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))),
- namedtype.NamedType('doNotDistAfter', BinaryTime())
- )
- aa_keyDistributionPeriod = Attribute()
- aa_keyDistributionPeriod['attrType'] = id_kma_keyDistPeriod
- aa_keyDistributionPeriod['attrValues'][0] = KeyDistPeriod()
- # Key Validity Period Attribute
- id_kma_keyValidityPeriod = univ.ObjectIdentifier('2.16.840.1.101.2.1.13.6')
- class KeyValidityPeriod(univ.Sequence):
- pass
- KeyValidityPeriod.componentType = namedtype.NamedTypes(
- namedtype.NamedType('doNotUseBefore', BinaryTime()),
- namedtype.OptionalNamedType('doNotUseAfter', BinaryTime())
- )
- aa_keyValidityPeriod = Attribute()
- aa_keyValidityPeriod['attrType'] = id_kma_keyValidityPeriod
- aa_keyValidityPeriod['attrValues'][0] = KeyValidityPeriod()
- # Key Duration Attribute
- id_kma_keyDuration = univ.ObjectIdentifier('2.16.840.1.101.2.1.13.7')
- ub_KeyDuration_months = univ.Integer(72)
- ub_KeyDuration_hours = univ.Integer(96)
- ub_KeyDuration_days = univ.Integer(732)
- ub_KeyDuration_weeks = univ.Integer(104)
- ub_KeyDuration_years = univ.Integer(100)
- class KeyDuration(univ.Choice):
- pass
- KeyDuration.componentType = namedtype.NamedTypes(
- namedtype.NamedType('hours', univ.Integer().subtype(
- subtypeSpec=constraint.ValueRangeConstraint(1, ub_KeyDuration_hours)).subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))),
- namedtype.NamedType('days', univ.Integer().subtype(
- subtypeSpec=constraint.ValueRangeConstraint(1, ub_KeyDuration_days))),
- namedtype.NamedType('weeks', univ.Integer().subtype(
- subtypeSpec=constraint.ValueRangeConstraint(1, ub_KeyDuration_weeks)).subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))),
- namedtype.NamedType('months', univ.Integer().subtype(
- subtypeSpec=constraint.ValueRangeConstraint(1, ub_KeyDuration_months)).subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2))),
- namedtype.NamedType('years', univ.Integer().subtype(
- subtypeSpec=constraint.ValueRangeConstraint(1, ub_KeyDuration_years)).subtype(
- implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 3)))
- )
- aa_keyDurationPeriod = Attribute()
- aa_keyDurationPeriod['attrType'] = id_kma_keyDuration
- aa_keyDurationPeriod['attrValues'][0] = KeyDuration()
- # Classification Attribute
- id_aa_KP_classification = univ.ObjectIdentifier(id_aa_securityLabel)
- id_enumeratedPermissiveAttributes = univ.ObjectIdentifier('2.16.840.1.101.2.1.8.3.1')
- id_enumeratedRestrictiveAttributes = univ.ObjectIdentifier('2.16.840.1.101.2.1.8.3.4')
- id_informativeAttributes = univ.ObjectIdentifier('2.16.840.1.101.2.1.8.3.3')
- class SecurityAttribute(univ.Integer):
- pass
- SecurityAttribute.subtypeSpec = constraint.ValueRangeConstraint(0, MAX)
- class EnumeratedTag(univ.Sequence):
- pass
- EnumeratedTag.componentType = namedtype.NamedTypes(
- namedtype.NamedType('tagName', univ.ObjectIdentifier()),
- namedtype.NamedType('attributeList', univ.SetOf(componentType=SecurityAttribute()))
- )
- class FreeFormField(univ.Choice):
- pass
- FreeFormField.componentType = namedtype.NamedTypes(
- namedtype.NamedType('bitSetAttributes', univ.BitString()), # Not permitted in RFC 7906
- namedtype.NamedType('securityAttributes', univ.SetOf(componentType=SecurityAttribute()))
- )
- class InformativeTag(univ.Sequence):
- pass
- InformativeTag.componentType = namedtype.NamedTypes(
- namedtype.NamedType('tagName', univ.ObjectIdentifier()),
- namedtype.NamedType('attributes', FreeFormField())
- )
- class Classification(ESSSecurityLabel):
- pass
- aa_classification = Attribute()
- aa_classification['attrType'] = id_aa_KP_classification
- aa_classification['attrValues'][0] = Classification()
- # Split Identifier Attribute
- id_kma_splitID = univ.ObjectIdentifier('2.16.840.1.101.2.1.13.11')
- class SplitID(univ.Sequence):
- pass
- SplitID.componentType = namedtype.NamedTypes(
- namedtype.NamedType('half', univ.Enumerated(
- namedValues=namedval.NamedValues(('a', 0), ('b', 1)))),
- namedtype.OptionalNamedType('combineAlg', AlgorithmIdentifier())
- )
- aa_splitIdentifier = Attribute()
- aa_splitIdentifier['attrType'] = id_kma_splitID
- aa_splitIdentifier['attrValues'][0] = SplitID()
- # Key Package Type Attribute
- id_kma_keyPkgType = univ.ObjectIdentifier('2.16.840.1.101.2.1.13.12')
- class KeyPkgType(univ.ObjectIdentifier):
- pass
- aa_keyPackageType = Attribute()
- aa_keyPackageType['attrType'] = id_kma_keyPkgType
- aa_keyPackageType['attrValues'][0] = KeyPkgType()
- # Signature Usage Attribute
- id_kma_sigUsageV3 = univ.ObjectIdentifier('2.16.840.1.101.2.1.13.22')
- class SignatureUsage(CMSContentConstraints):
- pass
- aa_signatureUsage_v3 = Attribute()
- aa_signatureUsage_v3['attrType'] = id_kma_sigUsageV3
- aa_signatureUsage_v3['attrValues'][0] = SignatureUsage()
- # Other Certificate Format Attribute
- id_kma_otherCertFormats = univ.ObjectIdentifier('2.16.840.1.101.2.1.13.19')
- aa_otherCertificateFormats = Attribute()
- aa_signatureUsage_v3['attrType'] = id_kma_otherCertFormats
- aa_signatureUsage_v3['attrValues'][0] = CertificateChoices()
- # PKI Path Attribute
- id_at_pkiPath = univ.ObjectIdentifier('2.5.4.70')
- class PkiPath(univ.SequenceOf):
- pass
- PkiPath.componentType = Certificate()
- PkiPath.subtypeSpec=constraint.ValueSizeConstraint(1, MAX)
- aa_pkiPath = Attribute()
- aa_pkiPath['attrType'] = id_at_pkiPath
- aa_pkiPath['attrValues'][0] = PkiPath()
- # Useful Certificates Attribute
- id_kma_usefulCerts = univ.ObjectIdentifier('2.16.840.1.101.2.1.13.20')
- aa_usefulCertificates = Attribute()
- aa_usefulCertificates['attrType'] = id_kma_usefulCerts
- aa_usefulCertificates['attrValues'][0] = CertificateSet()
- # Key Wrap Attribute
- id_kma_keyWrapAlgorithm = univ.ObjectIdentifier('2.16.840.1.101.2.1.13.21')
- aa_keyWrapAlgorithm = Attribute()
- aa_keyWrapAlgorithm['attrType'] = id_kma_keyWrapAlgorithm
- aa_keyWrapAlgorithm['attrValues'][0] = AlgorithmIdentifier()
- # 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_contentDecryptKeyIdentifier = Attribute()
- aa_contentDecryptKeyIdentifier['attrType'] = id_aa_KP_contentDecryptKeyID
- aa_contentDecryptKeyIdentifier['attrValues'][0] = ContentDecryptKeyID()
- # Certificate Pointers Attribute
- aa_certificatePointers = Attribute()
- aa_certificatePointers['attrType'] = id_pe_subjectInfoAccess
- aa_certificatePointers['attrValues'][0] = SubjectInfoAccessSyntax()
- # CRL Pointers Attribute
- id_aa_KP_crlPointers = univ.ObjectIdentifier('2.16.840.1.101.2.1.5.70')
- aa_cRLDistributionPoints = Attribute()
- aa_cRLDistributionPoints['attrType'] = id_aa_KP_crlPointers
- aa_cRLDistributionPoints['attrValues'][0] = GeneralNames()
- # Extended Error Codes
- id_errorCodes = univ.ObjectIdentifier('2.16.840.1.101.2.1.22')
- id_missingKeyType = univ.ObjectIdentifier('2.16.840.1.101.2.1.22.1')
- id_privacyMarkTooLong = univ.ObjectIdentifier('2.16.840.1.101.2.1.22.2')
- id_unrecognizedSecurityPolicy = univ.ObjectIdentifier('2.16.840.1.101.2.1.22.3')
- # Map of Attribute Type OIDs to Attributes added to the
- # ones that are in rfc5652.py
- _cmsAttributesMapUpdate = {
- id_aa_contentHint: ContentHints(),
- id_aa_communityIdentifiers: CommunityIdentifiers(),
- id_aa_binarySigningTime: BinarySigningTime(),
- id_contentType: ContentType(),
- id_messageDigest: MessageDigest(),
- id_aa_KP_keyPkgIdAndReceiptReq: KeyPkgIdentifierAndReceiptReq(),
- id_aa_KP_keyProvinceV2: KeyProvinceV2(),
- id_aa_KP_manifest: Manifest(),
- id_kma_keyAlgorithm: KeyAlgorithm(),
- id_at_userCertificate: Certificate(),
- id_kma_keyPkgReceiversV2: KeyPkgReceiversV2(),
- id_kma_TSECNomenclature: TSECNomenclature(),
- id_kma_keyPurpose: KeyPurpose(),
- id_kma_keyUse: KeyUse(),
- id_kma_transportKey: TransOp(),
- id_kma_keyDistPeriod: KeyDistPeriod(),
- id_kma_keyValidityPeriod: KeyValidityPeriod(),
- id_kma_keyDuration: KeyDuration(),
- id_aa_KP_classification: Classification(),
- id_kma_splitID: SplitID(),
- id_kma_keyPkgType: KeyPkgType(),
- id_kma_sigUsageV3: SignatureUsage(),
- id_kma_otherCertFormats: CertificateChoices(),
- id_at_pkiPath: PkiPath(),
- id_kma_usefulCerts: CertificateSet(),
- id_kma_keyWrapAlgorithm: AlgorithmIdentifier(),
- id_aa_KP_contentDecryptKeyID: ContentDecryptKeyID(),
- id_pe_subjectInfoAccess: SubjectInfoAccessSyntax(),
- id_aa_KP_crlPointers: GeneralNames(),
- }
- rfc5652.cmsAttributesMap.update(_cmsAttributesMapUpdate)
|