aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2015-02-02 17:05:24 -0600
committerPaul Kehrer <paul.l.kehrer@gmail.com>2015-02-02 17:05:24 -0600
commit806bfb24feb254287c588da4887b45025bec3623 (patch)
tree0d63918550a2fb0d701c0408eba624ef76529851 /src
parent5b0a8d63ab9215d9d5877df1d1c99a32d98bf8e2 (diff)
downloadcryptography-806bfb24feb254287c588da4887b45025bec3623.tar.gz
cryptography-806bfb24feb254287c588da4887b45025bec3623.tar.bz2
cryptography-806bfb24feb254287c588da4887b45025bec3623.zip
rename Attribute to NameAttribute and remove name from OID
Diffstat (limited to 'src')
-rw-r--r--src/cryptography/x509.py66
1 files changed, 40 insertions, 26 deletions
diff --git a/src/cryptography/x509.py b/src/cryptography/x509.py
index 8cdf7db5..a1f8c5b2 100644
--- a/src/cryptography/x509.py
+++ b/src/cryptography/x509.py
@@ -12,6 +12,25 @@ import six
from cryptography import utils
+_OID_NAMES = {
+ "2.5.4.3": "commonName",
+ "2.5.4.6": "countryName",
+ "2.5.4.7": "localityName",
+ "2.5.4.8": "stateOrProvinceName",
+ "2.5.4.10": "organizationName",
+ "2.5.4.11": "organizationalUnitName",
+ "2.5.4.5": "serialNumber",
+ "2.5.4.4": "surname",
+ "2.5.4.42": "givenName",
+ "2.5.4.12": "title",
+ "2.5.4.44": "generationQualifier",
+ "2.5.4.46": "dnQualifier",
+ "2.5.4.65": "pseudonym",
+ "0.9.2342.19200300.100.1.25": "domainComponent",
+ "1.2.840.113549.1.9.1": "emailAddress",
+}
+
+
class Version(Enum):
v1 = 0
v3 = 2
@@ -31,11 +50,11 @@ class InvalidVersion(Exception):
self.parsed_version = parsed_version
-class UnknownAttribute(Exception):
+class UnknownNameAttribute(Exception):
pass
-class Attribute(object):
+class NameAttribute(object):
def __init__(self, oid, value):
if not isinstance(oid, ObjectIdentifier):
raise TypeError("oid argument must be an ObjectIdentifier object")
@@ -47,7 +66,7 @@ class Attribute(object):
value = utils.read_only_property("_value")
def __eq__(self, other):
- if not isinstance(other, Attribute):
+ if not isinstance(other, NameAttribute):
return NotImplemented
return (
@@ -60,46 +79,41 @@ class Attribute(object):
class ObjectIdentifier(object):
- def __init__(self, oid, name):
+ def __init__(self, oid):
self._value = oid
- self._name = name
def __eq__(self, other):
if not isinstance(other, ObjectIdentifier):
return NotImplemented
- return self._value == other._value and self._name == other._name
+ return self._value == other._value
def __ne__(self, other):
return not self == other
def __repr__(self):
return "<ObjectIdentifier(oid={0}, name={1})>".format(
- self._value, self._name
+ self._value, _OID_NAMES.get(self._value, "Unknown OID")
)
value = utils.read_only_property("_value")
-OID_COMMON_NAME = ObjectIdentifier("2.5.4.3", "commonName")
-OID_COUNTRY_NAME = ObjectIdentifier("2.5.4.6", "countryName")
-OID_LOCALITY_NAME = ObjectIdentifier("2.5.4.7", "localityName")
-OID_STATE_OR_PROVINCE_NAME = ObjectIdentifier("2.5.4.8", "stateOrProvinceName")
-OID_ORGANIZATION_NAME = ObjectIdentifier("2.5.4.10", "organizationName")
-OID_ORGANIZATIONAL_UNIT_NAME = ObjectIdentifier(
- "2.5.4.11", "organizationalUnitName"
-)
-OID_SERIAL_NUMBER = ObjectIdentifier("2.5.4.5", "serialNumber")
-OID_SURNAME = ObjectIdentifier("2.5.4.4", "surname")
-OID_GIVEN_NAME = ObjectIdentifier("2.5.4.42", "givenName")
-OID_TITLE = ObjectIdentifier("2.5.4.12", "title")
-OID_GENERATION_QUALIFIER = ObjectIdentifier("2.5.4.44", "generationQualifier")
-OID_DN_QUALIFIER = ObjectIdentifier("2.5.4.46", "dnQualifier")
-OID_PSEUDONYM = ObjectIdentifier("2.5.4.65", "pseudonym")
-OID_DOMAIN_COMPONENT = ObjectIdentifier(
- "0.9.2342.19200300.100.1.25", "domainComponent"
-)
-OID_EMAIL_ADDRESS = ObjectIdentifier("1.2.840.113549.1.9.1", "emailAddress")
+OID_COMMON_NAME = ObjectIdentifier("2.5.4.3")
+OID_COUNTRY_NAME = ObjectIdentifier("2.5.4.6")
+OID_LOCALITY_NAME = ObjectIdentifier("2.5.4.7")
+OID_STATE_OR_PROVINCE_NAME = ObjectIdentifier("2.5.4.8")
+OID_ORGANIZATION_NAME = ObjectIdentifier("2.5.4.10")
+OID_ORGANIZATIONAL_UNIT_NAME = ObjectIdentifier("2.5.4.11")
+OID_SERIAL_NUMBER = ObjectIdentifier("2.5.4.5")
+OID_SURNAME = ObjectIdentifier("2.5.4.4")
+OID_GIVEN_NAME = ObjectIdentifier("2.5.4.42")
+OID_TITLE = ObjectIdentifier("2.5.4.12")
+OID_GENERATION_QUALIFIER = ObjectIdentifier("2.5.4.44")
+OID_DN_QUALIFIER = ObjectIdentifier("2.5.4.46")
+OID_PSEUDONYM = ObjectIdentifier("2.5.4.65")
+OID_DOMAIN_COMPONENT = ObjectIdentifier("0.9.2342.19200300.100.1.25")
+OID_EMAIL_ADDRESS = ObjectIdentifier("1.2.840.113549.1.9.1")
@six.add_metaclass(abc.ABCMeta)