Adds _name property to ObjectIdentifier
diff --git a/src/cryptography/x509/oid.py b/src/cryptography/x509/oid.py
index 9fabab7..ead4016 100644
--- a/src/cryptography/x509/oid.py
+++ b/src/cryptography/x509/oid.py
@@ -24,12 +24,16 @@
     def __repr__(self):
         return "<ObjectIdentifier(oid={0}, name={1})>".format(
             self.dotted_string,
-            _OID_NAMES.get(self, "Unknown OID")
+            self._name
         )
 
     def __hash__(self):
         return hash(self.dotted_string)
 
+    @property
+    def _name(self):
+        return _OID_NAMES.get(self, "Unknown OID")
+
     dotted_string = utils.read_only_property("_dotted_string")
 
 
diff --git a/tests/test_x509.py b/tests/test_x509.py
index b7602d1..220e71a 100644
--- a/tests/test_x509.py
+++ b/tests/test_x509.py
@@ -2436,6 +2436,12 @@
         oid = x509.ObjectIdentifier("oid1")
         assert repr(oid) == "<ObjectIdentifier(oid=oid1, name=Unknown OID)>"
 
+    def test_name_property(self):
+        oid = x509.ObjectIdentifier("2.5.4.3")
+        assert oid._name == 'commonName'
+        oid = x509.ObjectIdentifier("oid1")
+        assert oid._name == 'Unknown OID'
+
 
 class TestName(object):
     def test_eq(self):