diff options
author | Ilya Etingof <etingof@gmail.com> | 2017-09-13 01:09:14 +0200 |
---|---|---|
committer | Ilya Etingof <etingof@gmail.com> | 2017-09-13 01:09:14 +0200 |
commit | 49d39b1e21c7d0817b4ea3e69ffb70af97fa2da2 (patch) | |
tree | f1c30b8c6fbfc167d0e9b47d35b2bc06c03a23dc /pyasn1_modules/rfc2459.py | |
parent | c513c62dd72b3afbe4fc1e7eb4856f0f9ac76954 (diff) | |
download | pyasn1-modules-49d39b1e21c7d0817b4ea3e69ffb70af97fa2da2.tar.gz |
WIP: open types support
Diffstat (limited to 'pyasn1_modules/rfc2459.py')
-rw-r--r-- | pyasn1_modules/rfc2459.py | 103 |
1 files changed, 55 insertions, 48 deletions
diff --git a/pyasn1_modules/rfc2459.py b/pyasn1_modules/rfc2459.py index 5f8bcd4..6855482 100644 --- a/pyasn1_modules/rfc2459.py +++ b/pyasn1_modules/rfc2459.py @@ -990,26 +990,6 @@ id_ce_subjectAltName = univ.ObjectIdentifier('2.5.29.17') id_ce_issuerAltName = univ.ObjectIdentifier('2.5.29.18') -# map of AttributeType -> AttributeValue - -certificateAttributesMap = { - 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(), - emailAddress: Pkcs9email(), -} - - class AttributeValue(univ.Any): pass @@ -1017,6 +997,8 @@ class AttributeValue(univ.Any): class AttributeType(univ.ObjectIdentifier): pass +certificateAttributesMap = {} + class AttributeTypeAndValue(univ.Sequence): componentType = namedtype.NamedTypes( @@ -1190,34 +1172,7 @@ class IssuerAltName(GeneralNames): pass -# map of Certificate Extension OIDs to Extensions - -certificateExtensionsMap = { - id_ce_authorityKeyIdentifier: AuthorityKeyIdentifier(), - id_ce_subjectKeyIdentifier: SubjectKeyIdentifier(), - id_ce_keyUsage: KeyUsage(), - id_ce_privateKeyUsagePeriod: PrivateKeyUsagePeriod(), -# TODO -# id_ce_certificatePolicies: PolicyInformation(), # could be a sequence of concat'ed objects? - 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: CRLDistPointsSyntax(), - 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 = {} class Extension(univ.Sequence): @@ -1321,3 +1276,55 @@ class CertificateList(univ.Sequence): namedtype.NamedType('signature', univ.BitString()) ) +# 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(), + emailAddress: Pkcs9email(), +} + +certificateAttributesMap.update(_certificateAttributesMapUpdate) + + +# map of Certificate Extension OIDs to Extensions + +_certificateExtensionsMapUpdate = { + id_ce_authorityKeyIdentifier: AuthorityKeyIdentifier(), + id_ce_subjectKeyIdentifier: SubjectKeyIdentifier(), + id_ce_keyUsage: KeyUsage(), + id_ce_privateKeyUsagePeriod: PrivateKeyUsagePeriod(), +# TODO +# id_ce_certificatePolicies: PolicyInformation(), # could be a sequence of concat'ed objects? + 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: CRLDistPointsSyntax(), + 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(_certificateExtensionsMapUpdate) + |