aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES.txt1
-rw-r--r--pyasn1_modules/rfc2459.py27
-rw-r--r--pyasn1_modules/rfc5280.py27
3 files changed, 55 insertions, 0 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 439a3b1..b09e2ad 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,7 @@
Revision 0.0.9, released XX-XX-2017
-----------------------------------
+* Added X.509 certificate extensions map
* Fix to __doc__ use in setup.py to make -O0 installation mode working.
* Copyright added to source files.
* Author's e-mail changed
diff --git a/pyasn1_modules/rfc2459.py b/pyasn1_modules/rfc2459.py
index 52f9f76..b639028 100644
--- a/pyasn1_modules/rfc2459.py
+++ b/pyasn1_modules/rfc2459.py
@@ -1262,3 +1262,30 @@ id_ce_issuerAltName = univ.ObjectIdentifier('2.5.29.18')
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,
+ 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,
+}
diff --git a/pyasn1_modules/rfc5280.py b/pyasn1_modules/rfc5280.py
index f2aad23..bdbdde9 100644
--- a/pyasn1_modules/rfc5280.py
+++ b/pyasn1_modules/rfc5280.py
@@ -1542,3 +1542,30 @@ id_kp_clientAuth = _buildOid(id_kp, 2)
id_ce_subjectKeyIdentifier = _buildOid(id_ce, 14)
id_ce_inhibitAnyPolicy = _buildOid(id_ce, 54)
+
+# 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: 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,
+}