add oid attribute to all extension types
diff --git a/docs/x509/reference.rst b/docs/x509/reference.rst
index 61971fe..29b8268 100644
--- a/docs/x509/reference.rst
+++ b/docs/x509/reference.rst
@@ -918,6 +918,14 @@
be used for more than one operation is to be restricted. It corresponds to
:data:`OID_KEY_USAGE`.
+ .. attribute:: oid
+
+ .. versionadded:: 1.0
+
+ :type: :class:`ObjectIdentifier`
+
+ The OID associated with this extension type.
+
.. attribute:: digital_signature
:type: bool
@@ -1010,6 +1018,14 @@
length restrictions may exist. It corresponds to
:data:`OID_BASIC_CONSTRAINTS`.
+ .. attribute:: oid
+
+ .. versionadded:: 1.0
+
+ :type: :class:`ObjectIdentifier`
+
+ The OID associated with this extension type.
+
.. attribute:: ca
:type: bool
@@ -1038,6 +1054,15 @@
purposes indicated in the key usage extension. The object is
iterable to obtain the list of :ref:`extended key usage OIDs <eku_oids>`.
+ .. attribute:: oid
+
+ .. versionadded:: 1.0
+
+ :type: :class:`ObjectIdentifier`
+
+ The OID associated with this extension type.
+
+
.. class:: OCSPNoCheck
.. versionadded:: 1.0
@@ -1051,6 +1076,14 @@
extension is only relevant when the certificate is an authorized OCSP
responder.
+ .. attribute:: oid
+
+ .. versionadded:: 1.0
+
+ :type: :class:`ObjectIdentifier`
+
+ The OID associated with this extension type.
+
.. class:: NameConstraints
.. versionadded:: 1.0
@@ -1060,6 +1093,14 @@
beneath the CA certificate must (or must not) be in. For specific details
on the way this extension should be processed see :rfc:`5280`.
+ .. attribute:: oid
+
+ .. versionadded:: 1.0
+
+ :type: :class:`ObjectIdentifier`
+
+ The OID associated with this extension type.
+
.. attribute:: permitted_subtrees
:type: list of :class:`GeneralName` objects or None
@@ -1087,6 +1128,14 @@
certificate chain. For more information about generation and use of this
extension see `RFC 5280 section 4.2.1.1`_.
+ .. attribute:: oid
+
+ .. versionadded:: 1.0
+
+ :type: :class:`ObjectIdentifier`
+
+ The OID associated with this extension type.
+
.. attribute:: key_identifier
:type: bytes
@@ -1113,6 +1162,14 @@
The subject key identifier extension provides a means of identifying
certificates that contain a particular public key.
+ .. attribute:: oid
+
+ .. versionadded:: 1.0
+
+ :type: :class:`ObjectIdentifier`
+
+ The OID associated with this extension type.
+
.. attribute:: digest
:type: bytes
@@ -1128,6 +1185,14 @@
of identities for which the certificate is valid. The object is iterable to
get every element.
+ .. attribute:: oid
+
+ .. versionadded:: 1.0
+
+ :type: :class:`ObjectIdentifier`
+
+ The OID associated with this extension type.
+
.. method:: get_values_for_type(type)
:param type: A :class:`GeneralName` provider. This is one of the
@@ -1158,6 +1223,14 @@
of identities for the certificate issuer. The object is iterable to
get every element.
+ .. attribute:: oid
+
+ .. versionadded:: 1.0
+
+ :type: :class:`ObjectIdentifier`
+
+ The OID associated with this extension type.
+
.. method:: get_values_for_type(type)
:param type: A :class:`GeneralName` provider. This is one of the
@@ -1176,6 +1249,14 @@
validation services (such as OCSP) and issuer data. It is an iterable,
containing one or more :class:`AccessDescription` instances.
+ .. attribute:: oid
+
+ .. versionadded:: 1.0
+
+ :type: :class:`ObjectIdentifier`
+
+ The OID associated with this extension type.
+
.. class:: AccessDescription
@@ -1206,6 +1287,14 @@
obtained. It is an iterable, containing one or more
:class:`DistributionPoint` instances.
+ .. attribute:: oid
+
+ .. versionadded:: 1.0
+
+ :type: :class:`ObjectIdentifier`
+
+ The OID associated with this extension type.
+
.. class:: DistributionPoint
.. versionadded:: 0.9
@@ -1304,6 +1393,14 @@
certificates issued by the subject of this certificate, but not in
additional certificates in the path.
+ .. attribute:: oid
+
+ .. versionadded:: 1.0
+
+ :type: :class:`ObjectIdentifier`
+
+ The OID associated with this extension type.
+
.. attribute:: skip_certs
:type: int
@@ -1315,6 +1412,14 @@
The certificate policies extension is an iterable, containing one or more
:class:`PolicyInformation` instances.
+ .. attribute:: oid
+
+ .. versionadded:: 1.0
+
+ :type: :class:`ObjectIdentifier`
+
+ The OID associated with this extension type.
+
Certificate Policies Classes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~