From f315af2ae6e396431cd1ace953ae480f062b5ba5 Mon Sep 17 00:00:00 2001 From: Major Hayden Date: Wed, 17 Jun 2015 14:02:26 -0500 Subject: Added a repr() method to x509._Certificate --- AUTHORS.rst | 1 + src/cryptography/hazmat/backends/openssl/x509.py | 3 +++ tests/test_x509.py | 33 ++++++++++++++++++++++++ 3 files changed, 37 insertions(+) diff --git a/AUTHORS.rst b/AUTHORS.rst index 7e7b94da..5f5e1a47 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -24,3 +24,4 @@ PGP key fingerprints are enclosed in parentheses. * Steven Buss (1FB9 2EC1 CF93 DFD6 B47F F583 B1A5 6C22 290D A4C3) * Andre Caron * Jiangge Zhang (BBEC 782B 015F 71B1 5FF7 EACA 1A8C AA98 255F 5000) +* Major Hayden (1BF9 9264 9596 0033 698C 252B 7370 51E0 C101 1FB1) diff --git a/src/cryptography/hazmat/backends/openssl/x509.py b/src/cryptography/hazmat/backends/openssl/x509.py index f46dd1b7..9cd35087 100644 --- a/src/cryptography/hazmat/backends/openssl/x509.py +++ b/src/cryptography/hazmat/backends/openssl/x509.py @@ -159,6 +159,9 @@ class _Certificate(object): self._backend = backend self._x509 = x509 + def __repr__(self): + return "".format(self.subject) + def __eq__(self, other): if not isinstance(other, x509.Certificate): return NotImplemented diff --git a/tests/test_x509.py b/tests/test_x509.py index 547aa58e..cf3499bf 100644 --- a/tests/test_x509.py +++ b/tests/test_x509.py @@ -450,6 +450,39 @@ class TestRSACertificate(object): serialized = cert.public_bytes(encoding) assert serialized == cert_bytes + def test_certificate_repr(self, backend): + cert = _load_cert( + os.path.join( + "x509", "cryptography.io.pem" + ), + x509.load_pem_x509_certificate, + backend + ) + if six.PY3: + assert repr(cert) == ( + ", value='GT487" + "42965')>, , value='See www.rapidssl.com/re" + "sources/cps (c)14')>, , value='Domain Cont" + "rol Validated - RapidSSL(R)')>, , value='www.cryptograp" + "hy.io')>])>, ...)>" + ) + else: + assert repr(cert) == ( + ", value=u'GT48" + "742965')>, , value=u'See www.rapidssl.com/" + "resources/cps (c)14')>, , value=u'Domain C" + "ontrol Validated - RapidSSL(R)')>, , value=u'www.crypto" + "graphy.io')>])>, ...)>" + ) + @pytest.mark.requires_backend_interface(interface=RSABackend) @pytest.mark.requires_backend_interface(interface=X509Backend) -- cgit v1.2.3