aboutsummaryrefslogtreecommitdiff
path: root/pyasn1_modules/rfc2459.py
diff options
context:
space:
mode:
authorIlya Etingof <etingof@gmail.com>2017-09-13 01:09:14 +0200
committerIlya Etingof <etingof@gmail.com>2017-09-13 01:09:14 +0200
commit49d39b1e21c7d0817b4ea3e69ffb70af97fa2da2 (patch)
treef1c30b8c6fbfc167d0e9b47d35b2bc06c03a23dc /pyasn1_modules/rfc2459.py
parentc513c62dd72b3afbe4fc1e7eb4856f0f9ac76954 (diff)
downloadpyasn1-modules-49d39b1e21c7d0817b4ea3e69ffb70af97fa2da2.tar.gz
WIP: open types support
Diffstat (limited to 'pyasn1_modules/rfc2459.py')
-rw-r--r--pyasn1_modules/rfc2459.py103
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)
+