/opt/imh-python/lib/python3.9/site-packages/pyasn1_modules
NameSizeModeActions
__pycache__/-0755rm
pem.py18210644editdlrm
rfc1155.py26830644editdlrm
rfc1157.py35540644editdlrm
rfc1901.py6460644editdlrm
rfc1902.py37050644editdlrm
rfc1905.py48310644editdlrm
rfc2251.py269310644editdlrm
rfc2314.py13130644editdlrm
rfc2315.py96660644editdlrm
rfc2437.py26230644editdlrm
rfc2459.py500020644editdlrm
rfc2511.py103500644editdlrm
rfc2560.py84060644editdlrm
rfc2631.py12190644editdlrm
rfc2634.py94250644editdlrm
rfc2876.py14380644editdlrm
rfc2985.py143590644editdlrm
rfc2986.py18960644editdlrm
rfc3058.py9920644editdlrm
rfc3114.py19610644editdlrm
rfc3125.py167070644editdlrm
rfc3161.py42600644editdlrm
rfc3274.py16700644editdlrm
rfc3279.py68070644editdlrm
rfc3280.py466200644editdlrm
rfc3281.py98660644editdlrm
rfc3370.py28110644editdlrm
rfc3412.py19560644editdlrm
rfc3414.py11670644editdlrm
rfc3447.py16050644editdlrm
rfc3537.py7960644editdlrm
rfc3560.py18180644editdlrm
rfc3565.py14380644editdlrm
rfc3657.py17460644editdlrm
rfc3709.py64690644editdlrm
rfc3739.py51220644editdlrm
rfc3770.py17430644editdlrm
rfc3779.py32600644editdlrm
rfc3820.py14780644editdlrm
rfc3852.py201010644editdlrm
rfc4010.py12280644editdlrm
rfc4043.py10670644editdlrm
rfc4055.py103920644editdlrm
rfc4073.py16360644editdlrm
rfc4108.py105980644editdlrm
rfc4210.py284690644editdlrm
rfc4211.py121100644editdlrm
rfc4334.py15860644editdlrm
rfc4357.py150360644editdlrm
rfc4387.py4410644editdlrm
rfc4476.py19600644editdlrm
rfc4490.py34010644editdlrm
rfc4491.py10540644editdlrm
rfc4683.py18390644editdlrm
rfc4985.py9610644editdlrm
rfc5035.py45230644editdlrm
rfc5083.py18880644editdlrm
rfc5084.py28550644editdlrm
rfc5126.py157800644editdlrm
rfc5208.py14320644editdlrm
rfc5275.py116050644editdlrm
rfc5280.py512360644editdlrm
rfc5480.py48340644editdlrm
rfc5636.py23240644editdlrm
rfc5639.py10250644editdlrm
rfc5649.py8300644editdlrm
rfc5652.py214510644editdlrm
rfc5697.py17020644editdlrm
rfc5751.py31980644editdlrm
rfc5752.py14310644editdlrm
rfc5753.py45340644editdlrm
rfc5755.py120810644editdlrm
rfc5913.py11610644editdlrm
rfc5914.py37140644editdlrm
rfc5915.py10560644editdlrm
rfc5916.py8000644editdlrm
rfc5917.py15110644editdlrm
rfc5924.py4250644editdlrm
rfc5934.py237980644editdlrm
rfc5940.py16130644editdlrm
rfc5958.py26500644editdlrm
rfc5990.py55050644editdlrm
rfc6010.py23470644editdlrm
rfc6019.py10860644editdlrm
rfc6031.py121370644editdlrm
rfc6032.py19500644editdlrm
rfc6120.py8180644editdlrm
rfc6170.py4090644editdlrm
rfc6187.py4890644editdlrm
rfc6210.py10520644editdlrm
rfc6211.py22570644editdlrm
rfc6402.py171480644editdlrm
rfc6482.py20850644editdlrm
rfc6486.py19160644editdlrm
rfc6487.py4720644editdlrm
rfc6664.py42700644editdlrm
rfc6955.py28140644editdlrm
rfc6960.py79130644editdlrm
rfc7030.py14410644editdlrm
rfc7191.py70620644editdlrm
rfc7229.py7430644editdlrm
rfc7292.py84780644editdlrm
rfc7296.py8850644editdlrm
rfc7508.py21820644editdlrm
rfc7585.py10760644editdlrm
rfc7633.py8410644editdlrm
rfc7773.py13150644editdlrm
rfc7894.py27690644editdlrm
rfc7906.py189210644editdlrm
rfc7914.py14930644editdlrm
rfc8017.py41780644editdlrm
rfc8018.py61660644editdlrm
rfc8103.py10170644editdlrm
rfc8209.py3930644editdlrm
rfc8226.py42910644editdlrm
rfc8358.py11360644editdlrm
rfc8360.py10750644editdlrm
rfc8398.py11920644editdlrm
rfc8410.py9710644editdlrm
rfc8418.py11090644editdlrm
rfc8419.py17040644editdlrm
rfc8479.py11420644editdlrm
rfc8494.py23630644editdlrm
rfc8520.py14960644editdlrm
rfc8619.py11360644editdlrm
rfc8649.py9820644editdlrm
rfc8692.py20980644editdlrm
rfc8696.py34790644editdlrm
rfc8702.py27390644editdlrm
rfc8708.py9780644editdlrm
rfc8769.py4410644editdlrm
__init__.py650644editdlrm
Edit: /opt/imh-python/lib/python3.9/site-packages/pyasn1_modules/rfc5280.py (51236B)
# coding: utf-8 # # This file is part of pyasn1-modules software. # # Created by Stanisław Pitucha with asn1ate tool. # Updated by Russ Housley for ORAddress Extension Attribute opentype support. # Updated by Russ Housley for AlgorithmIdentifier opentype support. # # Copyright (c) 2005-2020, Ilya Etingof # License: http://snmplabs.com/pyasn1/license.html # # Internet X.509 Public Key Infrastructure Certificate and Certificate # Revocation List (CRL) Profile # # ASN.1 source from: # https://www.rfc-editor.org/rfc/rfc5280.txt # from pyasn1.type import char from pyasn1.type import constraint from pyasn1.type import namedtype from pyasn1.type import namedval from pyasn1.type import opentype from pyasn1.type import tag from pyasn1.type import univ from pyasn1.type import useful MAX = float('inf') def _buildOid(*components): output = [] for x in tuple(components): if isinstance(x, univ.ObjectIdentifier): output.extend(list(x)) else: output.append(int(x)) return univ.ObjectIdentifier(output) ub_e163_4_sub_address_length = univ.Integer(40) ub_e163_4_number_length = univ.Integer(15) unformatted_postal_address = univ.Integer(16) class TerminalType(univ.Integer): pass TerminalType.namedValues = namedval.NamedValues( ('telex', 3), ('teletex', 4), ('g3-facsimile', 5), ('g4-facsimile', 6), ('ia5-terminal', 7), ('videotex', 8) ) class Extension(univ.Sequence): pass Extension.componentType = namedtype.NamedTypes( namedtype.NamedType('extnID', univ.ObjectIdentifier()), namedtype.DefaultedNamedType('critical', univ.Boolean().subtype(value=0)), namedtype.NamedType('extnValue', univ.OctetString()) ) class Extensions(univ.SequenceOf): pass Extensions.componentType = Extension() Extensions.sizeSpec = constraint.ValueSizeConstraint(1, MAX) physical_delivery_personal_name = univ.Integer(13) ub_unformatted_address_length = univ.Integer(180) ub_pds_parameter_length = univ.Integer(30) ub_pds_physical_address_lines = univ.Integer(6) class UnformattedPostalAddress(univ.Set): pass UnformattedPostalAddress.componentType = namedtype.NamedTypes( namedtype.OptionalNamedType('printable-address', univ.SequenceOf(componentType=char.PrintableString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_pds_parameter_length)))), namedtype.OptionalNamedType('teletex-string', char.TeletexString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_unformatted_address_length))) ) ub_organization_name = univ.Integer(64) class X520OrganizationName(univ.Choice): pass X520OrganizationName.componentType = namedtype.NamedTypes( namedtype.NamedType('teletexString', char.TeletexString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_organization_name))), namedtype.NamedType('printableString', char.PrintableString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_organization_name))), namedtype.NamedType('universalString', char.UniversalString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_organization_name))), namedtype.NamedType('utf8String', char.UTF8String().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_organization_name))), namedtype.NamedType('bmpString', char.BMPString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_organization_name))) ) ub_x121_address_length = univ.Integer(16) pds_name = univ.Integer(7) id_pkix = _buildOid(1, 3, 6, 1, 5, 5, 7) id_kp = _buildOid(id_pkix, 3) ub_postal_code_length = univ.Integer(16) class PostalCode(univ.Choice): pass PostalCode.componentType = namedtype.NamedTypes( namedtype.NamedType('numeric-code', char.NumericString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_postal_code_length))), namedtype.NamedType('printable-code', char.PrintableString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_postal_code_length))) ) ub_generation_qualifier_length = univ.Integer(3) unique_postal_name = univ.Integer(20) class DomainComponent(char.IA5String): pass ub_domain_defined_attribute_value_length = univ.Integer(128) ub_match = univ.Integer(128) id_at = _buildOid(2, 5, 4) class AttributeType(univ.ObjectIdentifier): pass id_at_organizationalUnitName = _buildOid(id_at, 11) terminal_type = univ.Integer(23) class PDSParameter(univ.Set): pass PDSParameter.componentType = namedtype.NamedTypes( namedtype.OptionalNamedType('printable-string', char.PrintableString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_pds_parameter_length))), namedtype.OptionalNamedType('teletex-string', char.TeletexString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_pds_parameter_length))) ) class PhysicalDeliveryPersonalName(PDSParameter): pass ub_surname_length = univ.Integer(40) id_ad = _buildOid(id_pkix, 48) ub_domain_defined_attribute_type_length = univ.Integer(8) class TeletexDomainDefinedAttribute(univ.Sequence): pass TeletexDomainDefinedAttribute.componentType = namedtype.NamedTypes( namedtype.NamedType('type', char.TeletexString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_domain_defined_attribute_type_length))), namedtype.NamedType('value', char.TeletexString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_domain_defined_attribute_value_length))) ) ub_domain_defined_attributes = univ.Integer(4) class TeletexDomainDefinedAttributes(univ.SequenceOf): pass TeletexDomainDefinedAttributes.componentType = TeletexDomainDefinedAttribute() TeletexDomainDefinedAttributes.sizeSpec = constraint.ValueSizeConstraint(1, ub_domain_defined_attributes) extended_network_address = univ.Integer(22) ub_locality_name = univ.Integer(128) class X520LocalityName(univ.Choice): pass X520LocalityName.componentType = namedtype.NamedTypes( namedtype.NamedType('teletexString', char.TeletexString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_locality_name))), namedtype.NamedType('printableString', char.PrintableString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_locality_name))), namedtype.NamedType('universalString', char.UniversalString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_locality_name))), namedtype.NamedType('utf8String', char.UTF8String().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_locality_name))), namedtype.NamedType('bmpString', char.BMPString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_locality_name))) ) teletex_organization_name = univ.Integer(3) ub_given_name_length = univ.Integer(16) ub_initials_length = univ.Integer(5) class PersonalName(univ.Set): pass PersonalName.componentType = namedtype.NamedTypes( namedtype.NamedType('surname', char.PrintableString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_surname_length)).subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.OptionalNamedType('given-name', char.PrintableString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_given_name_length)).subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))), namedtype.OptionalNamedType('initials', char.PrintableString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_initials_length)).subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2))), namedtype.OptionalNamedType('generation-qualifier', char.PrintableString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_generation_qualifier_length)).subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 3))) ) ub_organizational_unit_name_length = univ.Integer(32) class OrganizationalUnitName(char.PrintableString): pass OrganizationalUnitName.subtypeSpec = constraint.ValueSizeConstraint(1, ub_organizational_unit_name_length) id_at_generationQualifier = _buildOid(id_at, 44) class Version(univ.Integer): pass Version.namedValues = namedval.NamedValues( ('v1', 0), ('v2', 1), ('v3', 2) ) class CertificateSerialNumber(univ.Integer): pass algorithmIdentifierMap = {} class AlgorithmIdentifier(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('algorithm', univ.ObjectIdentifier()), namedtype.OptionalNamedType('parameters', univ.Any(), openType=opentype.OpenType('algorithm', algorithmIdentifierMap) ) ) class Time(univ.Choice): pass Time.componentType = namedtype.NamedTypes( namedtype.NamedType('utcTime', useful.UTCTime()), namedtype.NamedType('generalTime', useful.GeneralizedTime()) ) class AttributeValue(univ.Any): pass certificateAttributesMap = {} class AttributeTypeAndValue(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('type', AttributeType()), namedtype.NamedType( 'value', AttributeValue(), openType=opentype.OpenType('type', certificateAttributesMap) ) ) class RelativeDistinguishedName(univ.SetOf): pass RelativeDistinguishedName.componentType = AttributeTypeAndValue() RelativeDistinguishedName.sizeSpec = constraint.ValueSizeConstraint(1, MAX) class RDNSequence(univ.SequenceOf): pass RDNSequence.componentType = RelativeDistinguishedName() class Name(univ.Choice): pass Name.componentType = namedtype.NamedTypes( namedtype.NamedType('rdnSequence', RDNSequence()) ) class TBSCertList(univ.Sequence): pass TBSCertList.componentType = namedtype.NamedTypes( namedtype.OptionalNamedType('version', Version()), namedtype.NamedType('signature', AlgorithmIdentifier()), namedtype.NamedType('issuer', Name()), namedtype.NamedType('thisUpdate', Time()), namedtype.OptionalNamedType('nextUpdate', Time()), namedtype.OptionalNamedType( 'revokedCertificates', univ.SequenceOf( componentType=univ.Sequence( componentType=namedtype.NamedTypes( namedtype.NamedType('userCertificate', CertificateSerialNumber()), namedtype.NamedType('revocationDate', Time()), namedtype.OptionalNamedType('crlEntryExtensions', Extensions()) ) ) ) ), namedtype.OptionalNamedType( 'crlExtensions', Extensions().subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))) ) class CertificateList(univ.Sequence): pass CertificateList.componentType = namedtype.NamedTypes( namedtype.NamedType('tbsCertList', TBSCertList()), namedtype.NamedType('signatureAlgorithm', AlgorithmIdentifier()), namedtype.NamedType('signature', univ.BitString()) ) class PhysicalDeliveryOfficeName(PDSParameter): pass ub_extension_attributes = univ.Integer(256) certificateExtensionsMap = { } oraddressExtensionAttributeMap = { } class ExtensionAttribute(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType( 'extension-attribute-type', univ.Integer().subtype(subtypeSpec=constraint.ValueRangeConstraint(0, ub_extension_attributes)).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.NamedType( 'extension-attribute-value', univ.Any().subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1)), openType=opentype.OpenType('extension-attribute-type', oraddressExtensionAttributeMap)) ) id_qt = _buildOid(id_pkix, 2) id_qt_cps = _buildOid(id_qt, 1) id_at_stateOrProvinceName = _buildOid(id_at, 8) id_at_title = _buildOid(id_at, 12) id_at_serialNumber = _buildOid(id_at, 5) class X520dnQualifier(char.PrintableString): pass class PosteRestanteAddress(PDSParameter): pass poste_restante_address = univ.Integer(19) class UniqueIdentifier(univ.BitString): pass class Validity(univ.Sequence): pass Validity.componentType = namedtype.NamedTypes( namedtype.NamedType('notBefore', Time()), namedtype.NamedType('notAfter', Time()) ) class SubjectPublicKeyInfo(univ.Sequence): pass SubjectPublicKeyInfo.componentType = namedtype.NamedTypes( namedtype.NamedType('algorithm', AlgorithmIdentifier()), namedtype.NamedType('subjectPublicKey', univ.BitString()) ) class TBSCertificate(univ.Sequence): pass TBSCertificate.componentType = namedtype.NamedTypes( namedtype.DefaultedNamedType('version', Version().subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0)).subtype(value="v1")), namedtype.NamedType('serialNumber', CertificateSerialNumber()), namedtype.NamedType('signature', AlgorithmIdentifier()), namedtype.NamedType('issuer', Name()), namedtype.NamedType('validity', Validity()), namedtype.NamedType('subject', Name()), namedtype.NamedType('subjectPublicKeyInfo', SubjectPublicKeyInfo()), namedtype.OptionalNamedType('issuerUniqueID', UniqueIdentifier().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))), namedtype.OptionalNamedType('subjectUniqueID', UniqueIdentifier().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2))), namedtype.OptionalNamedType('extensions', Extensions().subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 3))) ) physical_delivery_office_name = univ.Integer(10) ub_name = univ.Integer(32768) class X520name(univ.Choice): pass X520name.componentType = namedtype.NamedTypes( namedtype.NamedType('teletexString', char.TeletexString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_name))), namedtype.NamedType('printableString', char.PrintableString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_name))), namedtype.NamedType('universalString', char.UniversalString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_name))), namedtype.NamedType('utf8String', char.UTF8String().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_name))), namedtype.NamedType('bmpString', char.BMPString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_name))) ) id_at_dnQualifier = _buildOid(id_at, 46) ub_serial_number = univ.Integer(64) ub_pseudonym = univ.Integer(128) pkcs_9 = _buildOid(1, 2, 840, 113549, 1, 9) class X121Address(char.NumericString): pass X121Address.subtypeSpec = constraint.ValueSizeConstraint(1, ub_x121_address_length) class NetworkAddress(X121Address): pass ub_integer_options = univ.Integer(256) id_at_commonName = _buildOid(id_at, 3) ub_organization_name_length = univ.Integer(64) id_ad_ocsp = _buildOid(id_ad, 1) ub_country_name_numeric_length = univ.Integer(3) ub_country_name_alpha_length = univ.Integer(2) class PhysicalDeliveryCountryName(univ.Choice): pass PhysicalDeliveryCountryName.componentType = namedtype.NamedTypes( namedtype.NamedType('x121-dcc-code', char.NumericString().subtype( subtypeSpec=constraint.ValueSizeConstraint(ub_country_name_numeric_length, ub_country_name_numeric_length))), namedtype.NamedType('iso-3166-alpha2-code', char.PrintableString().subtype( subtypeSpec=constraint.ValueSizeConstraint(ub_country_name_alpha_length, ub_country_name_alpha_length))) ) id_emailAddress = _buildOid(pkcs_9, 1) common_name = univ.Integer(1) class X520Pseudonym(univ.Choice): pass X520Pseudonym.componentType = namedtype.NamedTypes( namedtype.NamedType('teletexString', char.TeletexString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_pseudonym))), namedtype.NamedType('printableString', char.PrintableString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_pseudonym))), namedtype.NamedType('universalString', char.UniversalString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_pseudonym))), namedtype.NamedType('utf8String', char.UTF8String().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_pseudonym))), namedtype.NamedType('bmpString', char.BMPString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_pseudonym))) ) ub_domain_name_length = univ.Integer(16) class AdministrationDomainName(univ.Choice): pass AdministrationDomainName.tagSet = univ.Choice.tagSet.tagExplicitly( tag.Tag(tag.tagClassApplication, tag.tagFormatConstructed, 2)) AdministrationDomainName.componentType = namedtype.NamedTypes( namedtype.NamedType('numeric', char.NumericString().subtype( subtypeSpec=constraint.ValueSizeConstraint(0, ub_domain_name_length))), namedtype.NamedType('printable', char.PrintableString().subtype( subtypeSpec=constraint.ValueSizeConstraint(0, ub_domain_name_length))) ) class PresentationAddress(univ.Sequence): pass PresentationAddress.componentType = namedtype.NamedTypes( namedtype.OptionalNamedType('pSelector', univ.OctetString().subtype( explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.OptionalNamedType('sSelector', univ.OctetString().subtype( explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))), namedtype.OptionalNamedType('tSelector', univ.OctetString().subtype( explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2))), namedtype.NamedType('nAddresses', univ.SetOf(componentType=univ.OctetString()).subtype( explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 3))) ) class ExtendedNetworkAddress(univ.Choice): pass ExtendedNetworkAddress.componentType = namedtype.NamedTypes( namedtype.NamedType( 'e163-4-address', univ.Sequence( componentType=namedtype.NamedTypes( namedtype.NamedType('number', char.NumericString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_e163_4_number_length)).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.OptionalNamedType('sub-address', char.NumericString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_e163_4_sub_address_length)).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))) ) ) ), namedtype.NamedType('psap-address', PresentationAddress().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0))) ) class TeletexOrganizationName(char.TeletexString): pass TeletexOrganizationName.subtypeSpec = constraint.ValueSizeConstraint(1, ub_organization_name_length) ub_terminal_id_length = univ.Integer(24) class TerminalIdentifier(char.PrintableString): pass TerminalIdentifier.subtypeSpec = constraint.ValueSizeConstraint(1, ub_terminal_id_length) id_ad_caIssuers = _buildOid(id_ad, 2) id_at_countryName = _buildOid(id_at, 6) class StreetAddress(PDSParameter): pass postal_code = univ.Integer(9) id_at_givenName = _buildOid(id_at, 42) ub_title = univ.Integer(64) class ExtensionAttributes(univ.SetOf): pass ExtensionAttributes.componentType = ExtensionAttribute() ExtensionAttributes.sizeSpec = constraint.ValueSizeConstraint(1, ub_extension_attributes) ub_emailaddress_length = univ.Integer(255) id_ad_caRepository = _buildOid(id_ad, 5) class ExtensionORAddressComponents(PDSParameter): pass ub_organizational_unit_name = univ.Integer(64) class X520OrganizationalUnitName(univ.Choice): pass X520OrganizationalUnitName.componentType = namedtype.NamedTypes( namedtype.NamedType('teletexString', char.TeletexString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_organizational_unit_name))), namedtype.NamedType('printableString', char.PrintableString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_organizational_unit_name))), namedtype.NamedType('universalString', char.UniversalString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_organizational_unit_name))), namedtype.NamedType('utf8String', char.UTF8String().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_organizational_unit_name))), namedtype.NamedType('bmpString', char.BMPString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_organizational_unit_name))) ) class LocalPostalAttributes(PDSParameter): pass teletex_organizational_unit_names = univ.Integer(5) class X520Title(univ.Choice): pass X520Title.componentType = namedtype.NamedTypes( namedtype.NamedType('teletexString', char.TeletexString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_title))), namedtype.NamedType('printableString', char.PrintableString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_title))), namedtype.NamedType('universalString', char.UniversalString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_title))), namedtype.NamedType('utf8String', char.UTF8String().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_title))), namedtype.NamedType('bmpString', char.BMPString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_title))) ) id_at_localityName = _buildOid(id_at, 7) id_at_initials = _buildOid(id_at, 43) ub_state_name = univ.Integer(128) class X520StateOrProvinceName(univ.Choice): pass X520StateOrProvinceName.componentType = namedtype.NamedTypes( namedtype.NamedType('teletexString', char.TeletexString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_state_name))), namedtype.NamedType('printableString', char.PrintableString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_state_name))), namedtype.NamedType('universalString', char.UniversalString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_state_name))), namedtype.NamedType('utf8String', char.UTF8String().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_state_name))), namedtype.NamedType('bmpString', char.BMPString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_state_name))) ) physical_delivery_organization_name = univ.Integer(14) id_at_surname = _buildOid(id_at, 4) class X520countryName(char.PrintableString): pass X520countryName.subtypeSpec = constraint.ValueSizeConstraint(2, 2) physical_delivery_office_number = univ.Integer(11) id_qt_unotice = _buildOid(id_qt, 2) class X520SerialNumber(char.PrintableString): pass X520SerialNumber.subtypeSpec = constraint.ValueSizeConstraint(1, ub_serial_number) class Attribute(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('type', AttributeType()), namedtype.NamedType('values', univ.SetOf(componentType=AttributeValue()), openType=opentype.OpenType('type', certificateAttributesMap)) ) ub_common_name = univ.Integer(64) id_pe = _buildOid(id_pkix, 1) class ExtensionPhysicalDeliveryAddressComponents(PDSParameter): pass class EmailAddress(char.IA5String): pass EmailAddress.subtypeSpec = constraint.ValueSizeConstraint(1, ub_emailaddress_length) id_at_organizationName = _buildOid(id_at, 10) post_office_box_address = univ.Integer(18) class BuiltInDomainDefinedAttribute(univ.Sequence): pass BuiltInDomainDefinedAttribute.componentType = namedtype.NamedTypes( namedtype.NamedType('type', char.PrintableString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_domain_defined_attribute_type_length))), namedtype.NamedType('value', char.PrintableString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_domain_defined_attribute_value_length))) ) class BuiltInDomainDefinedAttributes(univ.SequenceOf): pass BuiltInDomainDefinedAttributes.componentType = BuiltInDomainDefinedAttribute() BuiltInDomainDefinedAttributes.sizeSpec = constraint.ValueSizeConstraint(1, ub_domain_defined_attributes) id_at_pseudonym = _buildOid(id_at, 65) id_domainComponent = _buildOid(0, 9, 2342, 19200300, 100, 1, 25) class X520CommonName(univ.Choice): pass X520CommonName.componentType = namedtype.NamedTypes( namedtype.NamedType('teletexString', char.TeletexString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_common_name))), namedtype.NamedType('printableString', char.PrintableString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_common_name))), namedtype.NamedType('universalString', char.UniversalString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_common_name))), namedtype.NamedType('utf8String', char.UTF8String().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_common_name))), namedtype.NamedType('bmpString', char.BMPString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, ub_common_name))) ) extension_OR_address_components = univ.Integer(12) ub_organizational_units = univ.Integer(4) teletex_personal_name = univ.Integer(4) ub_numeric_user_id_length = univ.Integer(32) ub_common_name_length = univ.Integer(64) class TeletexCommonName(char.TeletexString): pass TeletexCommonName.subtypeSpec = constraint.ValueSizeConstraint(1, ub_common_name_length) class PhysicalDeliveryOrganizationName(PDSParameter): pass extension_physical_delivery_address_components = univ.Integer(15) class NumericUserIdentifier(char.NumericString): pass NumericUserIdentifier.subtypeSpec = constraint.ValueSizeConstraint(1, ub_numeric_user_id_length) class CountryName(univ.Choice): pass CountryName.tagSet = univ.Choice.tagSet.tagExplicitly(tag.Tag(tag.tagClassApplication, tag.tagFormatConstructed, 1)) CountryName.componentType = namedtype.NamedTypes( namedtype.NamedType('x121-dcc-code', char.NumericString().subtype( subtypeSpec=constraint.ValueSizeConstraint(ub_country_name_numeric_length, ub_country_name_numeric_length))), namedtype.NamedType('iso-3166-alpha2-code', char.PrintableString().subtype( subtypeSpec=constraint.ValueSizeConstraint(ub_country_name_alpha_length, ub_country_name_alpha_length))) ) class OrganizationName(char.PrintableString): pass OrganizationName.subtypeSpec = constraint.ValueSizeConstraint(1, ub_organization_name_length) class OrganizationalUnitNames(univ.SequenceOf): pass OrganizationalUnitNames.componentType = OrganizationalUnitName() OrganizationalUnitNames.sizeSpec = constraint.ValueSizeConstraint(1, ub_organizational_units) class PrivateDomainName(univ.Choice): pass PrivateDomainName.componentType = namedtype.NamedTypes( namedtype.NamedType('numeric', char.NumericString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_domain_name_length))), namedtype.NamedType('printable', char.PrintableString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_domain_name_length))) ) class BuiltInStandardAttributes(univ.Sequence): pass BuiltInStandardAttributes.componentType = namedtype.NamedTypes( namedtype.OptionalNamedType('country-name', CountryName()), namedtype.OptionalNamedType('administration-domain-name', AdministrationDomainName()), namedtype.OptionalNamedType('network-address', NetworkAddress().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.OptionalNamedType('terminal-identifier', TerminalIdentifier().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))), namedtype.OptionalNamedType('private-domain-name', PrivateDomainName().subtype( explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 2))), namedtype.OptionalNamedType('organization-name', OrganizationName().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 3))), namedtype.OptionalNamedType('numeric-user-identifier', NumericUserIdentifier().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 4))), namedtype.OptionalNamedType('personal-name', PersonalName().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 5))), namedtype.OptionalNamedType('organizational-unit-names', OrganizationalUnitNames().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 6))) ) class ORAddress(univ.Sequence): pass ORAddress.componentType = namedtype.NamedTypes( namedtype.NamedType('built-in-standard-attributes', BuiltInStandardAttributes()), namedtype.OptionalNamedType('built-in-domain-defined-attributes', BuiltInDomainDefinedAttributes()), namedtype.OptionalNamedType('extension-attributes', ExtensionAttributes()) ) class DistinguishedName(RDNSequence): pass id_ad_timeStamping = _buildOid(id_ad, 3) class PhysicalDeliveryOfficeNumber(PDSParameter): pass teletex_domain_defined_attributes = univ.Integer(6) class UniquePostalName(PDSParameter): pass physical_delivery_country_name = univ.Integer(8) ub_pds_name_length = univ.Integer(16) class PDSName(char.PrintableString): pass PDSName.subtypeSpec = constraint.ValueSizeConstraint(1, ub_pds_name_length) class TeletexPersonalName(univ.Set): pass TeletexPersonalName.componentType = namedtype.NamedTypes( namedtype.NamedType('surname', char.TeletexString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_surname_length)).subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.OptionalNamedType('given-name', char.TeletexString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_given_name_length)).subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))), namedtype.OptionalNamedType('initials', char.TeletexString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_initials_length)).subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2))), namedtype.OptionalNamedType('generation-qualifier', char.TeletexString().subtype( subtypeSpec=constraint.ValueSizeConstraint(1, ub_generation_qualifier_length)).subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 3))) ) street_address = univ.Integer(17) class PostOfficeBoxAddress(PDSParameter): pass local_postal_attributes = univ.Integer(21) class DirectoryString(univ.Choice): pass DirectoryString.componentType = namedtype.NamedTypes( namedtype.NamedType('teletexString', char.TeletexString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), namedtype.NamedType('printableString', char.PrintableString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), namedtype.NamedType('universalString', char.UniversalString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), namedtype.NamedType('utf8String', char.UTF8String().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), namedtype.NamedType('bmpString', char.BMPString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, MAX))) ) teletex_common_name = univ.Integer(2) class CommonName(char.PrintableString): pass CommonName.subtypeSpec = constraint.ValueSizeConstraint(1, ub_common_name_length) class Certificate(univ.Sequence): pass Certificate.componentType = namedtype.NamedTypes( namedtype.NamedType('tbsCertificate', TBSCertificate()), namedtype.NamedType('signatureAlgorithm', AlgorithmIdentifier()), namedtype.NamedType('signature', univ.BitString()) ) class TeletexOrganizationalUnitName(char.TeletexString): pass TeletexOrganizationalUnitName.subtypeSpec = constraint.ValueSizeConstraint(1, ub_organizational_unit_name_length) id_at_name = _buildOid(id_at, 41) class TeletexOrganizationalUnitNames(univ.SequenceOf): pass TeletexOrganizationalUnitNames.componentType = TeletexOrganizationalUnitName() TeletexOrganizationalUnitNames.sizeSpec = constraint.ValueSizeConstraint(1, ub_organizational_units) id_ce = _buildOid(2, 5, 29) id_ce_issuerAltName = _buildOid(id_ce, 18) class SkipCerts(univ.Integer): pass SkipCerts.subtypeSpec = constraint.ValueRangeConstraint(0, MAX) class CRLReason(univ.Enumerated): pass CRLReason.namedValues = namedval.NamedValues( ('unspecified', 0), ('keyCompromise', 1), ('cACompromise', 2), ('affiliationChanged', 3), ('superseded', 4), ('cessationOfOperation', 5), ('certificateHold', 6), ('removeFromCRL', 8), ('privilegeWithdrawn', 9), ('aACompromise', 10) ) class PrivateKeyUsagePeriod(univ.Sequence): pass PrivateKeyUsagePeriod.componentType = namedtype.NamedTypes( namedtype.OptionalNamedType('notBefore', useful.GeneralizedTime().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.OptionalNamedType('notAfter', useful.GeneralizedTime().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))) ) anotherNameMap = { } class AnotherName(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('type-id', univ.ObjectIdentifier()), namedtype.NamedType( 'value', univ.Any().subtype(explicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0)), openType=opentype.OpenType('type-id', anotherNameMap) ) ) class EDIPartyName(univ.Sequence): pass EDIPartyName.componentType = namedtype.NamedTypes( namedtype.OptionalNamedType('nameAssigner', DirectoryString().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0))), namedtype.NamedType('partyName', DirectoryString().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 1))) ) class GeneralName(univ.Choice): pass GeneralName.componentType = namedtype.NamedTypes( namedtype.NamedType('otherName', AnotherName().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0))), namedtype.NamedType('rfc822Name', char.IA5String().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))), namedtype.NamedType('dNSName', char.IA5String().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2))), namedtype.NamedType('x400Address', ORAddress().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 3))), namedtype.NamedType('directoryName', Name().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 4))), namedtype.NamedType('ediPartyName', EDIPartyName().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 5))), namedtype.NamedType('uniformResourceIdentifier', char.IA5String().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 6))), namedtype.NamedType('iPAddress', univ.OctetString().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 7))), namedtype.NamedType('registeredID', univ.ObjectIdentifier().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 8))) ) class BaseDistance(univ.Integer): pass BaseDistance.subtypeSpec = constraint.ValueRangeConstraint(0, MAX) class GeneralSubtree(univ.Sequence): pass GeneralSubtree.componentType = namedtype.NamedTypes( namedtype.NamedType('base', GeneralName()), namedtype.DefaultedNamedType('minimum', BaseDistance().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0)).subtype(value=0)), namedtype.OptionalNamedType('maximum', BaseDistance().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))) ) class GeneralNames(univ.SequenceOf): pass GeneralNames.componentType = GeneralName() GeneralNames.sizeSpec = constraint.ValueSizeConstraint(1, MAX) class DistributionPointName(univ.Choice): pass DistributionPointName.componentType = namedtype.NamedTypes( namedtype.NamedType('fullName', GeneralNames().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.NamedType('nameRelativeToCRLIssuer', RelativeDistinguishedName().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))) ) class ReasonFlags(univ.BitString): pass ReasonFlags.namedValues = namedval.NamedValues( ('unused', 0), ('keyCompromise', 1), ('cACompromise', 2), ('affiliationChanged', 3), ('superseded', 4), ('cessationOfOperation', 5), ('certificateHold', 6), ('privilegeWithdrawn', 7), ('aACompromise', 8) ) class IssuingDistributionPoint(univ.Sequence): pass IssuingDistributionPoint.componentType = namedtype.NamedTypes( namedtype.OptionalNamedType('distributionPoint', DistributionPointName().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0))), namedtype.DefaultedNamedType('onlyContainsUserCerts', univ.Boolean().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1)).subtype(value=0)), namedtype.DefaultedNamedType('onlyContainsCACerts', univ.Boolean().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2)).subtype(value=0)), namedtype.OptionalNamedType('onlySomeReasons', ReasonFlags().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 3))), namedtype.DefaultedNamedType('indirectCRL', univ.Boolean().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 4)).subtype(value=0)), namedtype.DefaultedNamedType('onlyContainsAttributeCerts', univ.Boolean().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 5)).subtype(value=0)) ) id_ce_certificatePolicies = _buildOid(id_ce, 32) id_kp_emailProtection = _buildOid(id_kp, 4) class AccessDescription(univ.Sequence): pass AccessDescription.componentType = namedtype.NamedTypes( namedtype.NamedType('accessMethod', univ.ObjectIdentifier()), namedtype.NamedType('accessLocation', GeneralName()) ) class IssuerAltName(GeneralNames): pass id_ce_cRLDistributionPoints = _buildOid(id_ce, 31) holdInstruction = _buildOid(2, 2, 840, 10040, 2) id_holdinstruction_callissuer = _buildOid(holdInstruction, 2) id_ce_subjectDirectoryAttributes = _buildOid(id_ce, 9) id_ce_issuingDistributionPoint = _buildOid(id_ce, 28) class DistributionPoint(univ.Sequence): pass DistributionPoint.componentType = namedtype.NamedTypes( namedtype.OptionalNamedType('distributionPoint', DistributionPointName().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0))), namedtype.OptionalNamedType('reasons', ReasonFlags().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))), namedtype.OptionalNamedType('cRLIssuer', GeneralNames().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2))) ) class CRLDistributionPoints(univ.SequenceOf): pass CRLDistributionPoints.componentType = DistributionPoint() CRLDistributionPoints.sizeSpec = constraint.ValueSizeConstraint(1, MAX) class GeneralSubtrees(univ.SequenceOf): pass GeneralSubtrees.componentType = GeneralSubtree() GeneralSubtrees.sizeSpec = constraint.ValueSizeConstraint(1, MAX) class NameConstraints(univ.Sequence): pass NameConstraints.componentType = namedtype.NamedTypes( namedtype.OptionalNamedType('permittedSubtrees', GeneralSubtrees().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.OptionalNamedType('excludedSubtrees', GeneralSubtrees().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))) ) class SubjectDirectoryAttributes(univ.SequenceOf): pass SubjectDirectoryAttributes.componentType = Attribute() SubjectDirectoryAttributes.sizeSpec = constraint.ValueSizeConstraint(1, MAX) id_kp_OCSPSigning = _buildOid(id_kp, 9) id_kp_timeStamping = _buildOid(id_kp, 8) class DisplayText(univ.Choice): pass DisplayText.componentType = namedtype.NamedTypes( namedtype.NamedType('ia5String', char.IA5String().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, 200))), namedtype.NamedType('visibleString', char.VisibleString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, 200))), namedtype.NamedType('bmpString', char.BMPString().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, 200))), namedtype.NamedType('utf8String', char.UTF8String().subtype(subtypeSpec=constraint.ValueSizeConstraint(1, 200))) ) class NoticeReference(univ.Sequence): pass NoticeReference.componentType = namedtype.NamedTypes( namedtype.NamedType('organization', DisplayText()), namedtype.NamedType('noticeNumbers', univ.SequenceOf(componentType=univ.Integer())) ) class UserNotice(univ.Sequence): pass UserNotice.componentType = namedtype.NamedTypes( namedtype.OptionalNamedType('noticeRef', NoticeReference()), namedtype.OptionalNamedType('explicitText', DisplayText()) ) class PolicyQualifierId(univ.ObjectIdentifier): pass policyQualifierInfoMap = { } class PolicyQualifierInfo(univ.Sequence): componentType = namedtype.NamedTypes( namedtype.NamedType('policyQualifierId', PolicyQualifierId()), namedtype.NamedType( 'qualifier', univ.Any(), openType=opentype.OpenType('policyQualifierId', policyQualifierInfoMap) ) ) class CertPolicyId(univ.ObjectIdentifier): pass class PolicyInformation(univ.Sequence): pass PolicyInformation.componentType = namedtype.NamedTypes( namedtype.NamedType('policyIdentifier', CertPolicyId()), namedtype.OptionalNamedType('policyQualifiers', univ.SequenceOf(componentType=PolicyQualifierInfo())) ) class CertificatePolicies(univ.SequenceOf): pass CertificatePolicies.componentType = PolicyInformation() CertificatePolicies.sizeSpec = constraint.ValueSizeConstraint(1, MAX) class SubjectAltName(GeneralNames): pass id_ce_basicConstraints = _buildOid(id_ce, 19) id_ce_authorityKeyIdentifier = _buildOid(id_ce, 35) id_kp_codeSigning = _buildOid(id_kp, 3) class BasicConstraints(univ.Sequence): pass BasicConstraints.componentType = namedtype.NamedTypes( namedtype.DefaultedNamedType('cA', univ.Boolean().subtype(value=0)), namedtype.OptionalNamedType('pathLenConstraint', univ.Integer().subtype(subtypeSpec=constraint.ValueRangeConstraint(0, MAX))) ) id_ce_certificateIssuer = _buildOid(id_ce, 29) class PolicyMappings(univ.SequenceOf): pass PolicyMappings.componentType = univ.Sequence( componentType=namedtype.NamedTypes( namedtype.NamedType('issuerDomainPolicy', CertPolicyId()), namedtype.NamedType('subjectDomainPolicy', CertPolicyId()) ) ) PolicyMappings.sizeSpec = constraint.ValueSizeConstraint(1, MAX) class InhibitAnyPolicy(SkipCerts): pass anyPolicy = _buildOid(id_ce_certificatePolicies, 0) class CRLNumber(univ.Integer): pass CRLNumber.subtypeSpec = constraint.ValueRangeConstraint(0, MAX) class BaseCRLNumber(CRLNumber): pass id_ce_nameConstraints = _buildOid(id_ce, 30) id_kp_serverAuth = _buildOid(id_kp, 1) id_ce_freshestCRL = _buildOid(id_ce, 46) id_ce_cRLReasons = _buildOid(id_ce, 21) id_ce_extKeyUsage = _buildOid(id_ce, 37) class KeyIdentifier(univ.OctetString): pass class AuthorityKeyIdentifier(univ.Sequence): pass AuthorityKeyIdentifier.componentType = namedtype.NamedTypes( namedtype.OptionalNamedType('keyIdentifier', KeyIdentifier().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.OptionalNamedType('authorityCertIssuer', GeneralNames().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))), namedtype.OptionalNamedType('authorityCertSerialNumber', CertificateSerialNumber().subtype( implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2))) ) class FreshestCRL(CRLDistributionPoints): pass id_ce_policyConstraints = _buildOid(id_ce, 36) id_pe_authorityInfoAccess = _buildOid(id_pe, 1) class AuthorityInfoAccessSyntax(univ.SequenceOf): pass AuthorityInfoAccessSyntax.componentType = AccessDescription() AuthorityInfoAccessSyntax.sizeSpec = constraint.ValueSizeConstraint(1, MAX) id_holdinstruction_none = _buildOid(holdInstruction, 1) class CPSuri(char.IA5String): pass id_pe_subjectInfoAccess = _buildOid(id_pe, 11) class SubjectKeyIdentifier(KeyIdentifier): pass id_ce_subjectAltName = _buildOid(id_ce, 17) class KeyPurposeId(univ.ObjectIdentifier): pass class ExtKeyUsageSyntax(univ.SequenceOf): pass ExtKeyUsageSyntax.componentType = KeyPurposeId() ExtKeyUsageSyntax.sizeSpec = constraint.ValueSizeConstraint(1, MAX) class HoldInstructionCode(univ.ObjectIdentifier): pass id_ce_deltaCRLIndicator = _buildOid(id_ce, 27) id_ce_keyUsage = _buildOid(id_ce, 15) id_ce_holdInstructionCode = _buildOid(id_ce, 23) class SubjectInfoAccessSyntax(univ.SequenceOf): pass SubjectInfoAccessSyntax.componentType = AccessDescription() SubjectInfoAccessSyntax.sizeSpec = constraint.ValueSizeConstraint(1, MAX) class InvalidityDate(useful.GeneralizedTime): pass class KeyUsage(univ.BitString): pass KeyUsage.namedValues = namedval.NamedValues( ('digitalSignature', 0), ('nonRepudiation', 1), ('keyEncipherment', 2), ('dataEncipherment', 3), ('keyAgreement', 4), ('keyCertSign', 5), ('cRLSign', 6), ('encipherOnly', 7), ('decipherOnly', 8) ) id_ce_invalidityDate = _buildOid(id_ce, 24) id_ce_policyMappings = _buildOid(id_ce, 33) anyExtendedKeyUsage = _buildOid(id_ce_extKeyUsage, 0) id_ce_privateKeyUsagePeriod = _buildOid(id_ce, 16) id_ce_cRLNumber = _buildOid(id_ce, 20) class CertificateIssuer(GeneralNames): pass id_holdinstruction_reject = _buildOid(holdInstruction, 3) class PolicyConstraints(univ.Sequence): pass PolicyConstraints.componentType = namedtype.NamedTypes( namedtype.OptionalNamedType('requireExplicitPolicy', SkipCerts().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.OptionalNamedType('inhibitPolicyMapping', SkipCerts().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))) ) id_kp_clientAuth = _buildOid(id_kp, 2) id_ce_subjectKeyIdentifier = _buildOid(id_ce, 14) id_ce_inhibitAnyPolicy = _buildOid(id_ce, 54) # map of ORAddress ExtensionAttribute type to ExtensionAttribute value _oraddressExtensionAttributeMapUpdate = { common_name: CommonName(), teletex_common_name: TeletexCommonName(), teletex_organization_name: TeletexOrganizationName(), teletex_personal_name: TeletexPersonalName(), teletex_organizational_unit_names: TeletexOrganizationalUnitNames(), pds_name: PDSName(), physical_delivery_country_name: PhysicalDeliveryCountryName(), postal_code: PostalCode(), physical_delivery_office_name: PhysicalDeliveryOfficeName(), physical_delivery_office_number: PhysicalDeliveryOfficeNumber(), extension_OR_address_components: ExtensionORAddressComponents(), physical_delivery_personal_name: PhysicalDeliveryPersonalName(), physical_delivery_organization_name: PhysicalDeliveryOrganizationName(), extension_physical_delivery_address_components: ExtensionPhysicalDeliveryAddressComponents(), unformatted_postal_address: UnformattedPostalAddress(), street_address: StreetAddress(), post_office_box_address: PostOfficeBoxAddress(), poste_restante_address: PosteRestanteAddress(), unique_postal_name: UniquePostalName(), local_postal_attributes: LocalPostalAttributes(), extended_network_address: ExtendedNetworkAddress(), terminal_type: TerminalType(), teletex_domain_defined_attributes: TeletexDomainDefinedAttributes(), } oraddressExtensionAttributeMap.update(_oraddressExtensionAttributeMapUpdate) # map of AttributeType -> AttributeValue _certificateAttributesMapUpdate = { id_at_name: X520name(), id_at_surname: X520name(), id_at_givenName: X520name(), id_at_initials: X520name(), id_at_generationQualifier: X520name(), id_at_commonName: X520CommonName(), id_at_localityName: X520LocalityName(), id_at_stateOrProvinceName: X520StateOrProvinceName(), id_at_organizationName: X520OrganizationName(), id_at_organizationalUnitName: X520OrganizationalUnitName(), id_at_title: X520Title(), id_at_dnQualifier: X520dnQualifier(), id_at_countryName: X520countryName(), id_at_serialNumber: X520SerialNumber(), id_at_pseudonym: X520Pseudonym(), id_domainComponent: DomainComponent(), id_emailAddress: EmailAddress(), } certificateAttributesMap.update(_certificateAttributesMapUpdate) # map of Certificate Extension OIDs to Extensions _certificateExtensionsMap = { id_ce_authorityKeyIdentifier: AuthorityKeyIdentifier(), id_ce_subjectKeyIdentifier: SubjectKeyIdentifier(), id_ce_keyUsage: KeyUsage(), id_ce_privateKeyUsagePeriod: PrivateKeyUsagePeriod(), id_ce_certificatePolicies: CertificatePolicies(), id_ce_policyMappings: PolicyMappings(), id_ce_subjectAltName: SubjectAltName(), id_ce_issuerAltName: IssuerAltName(), id_ce_subjectDirectoryAttributes: SubjectDirectoryAttributes(), id_ce_basicConstraints: BasicConstraints(), id_ce_nameConstraints: NameConstraints(), id_ce_policyConstraints: PolicyConstraints(), id_ce_extKeyUsage: ExtKeyUsageSyntax(), id_ce_cRLDistributionPoints: CRLDistributionPoints(), id_pe_authorityInfoAccess: AuthorityInfoAccessSyntax(), id_ce_cRLNumber: univ.Integer(), id_ce_deltaCRLIndicator: BaseCRLNumber(), id_ce_issuingDistributionPoint: IssuingDistributionPoint(), id_ce_cRLReasons: CRLReason(), id_ce_holdInstructionCode: univ.ObjectIdentifier(), id_ce_invalidityDate: useful.GeneralizedTime(), id_ce_certificateIssuer: GeneralNames(), } certificateExtensionsMap.update(_certificateExtensionsMap)