]> granicus.if.org Git - python/commitdiff
Issue #8086: In :func:`ssl.DER_cert_to_PEM_cert()`, fix missing newline
authorAntoine Pitrou <solipsis@pitrou.net>
Tue, 27 Apr 2010 22:03:37 +0000 (22:03 +0000)
committerAntoine Pitrou <solipsis@pitrou.net>
Tue, 27 Apr 2010 22:03:37 +0000 (22:03 +0000)
before the certificate footer.  Patch by Kyle VanderBeek.

Lib/ssl.py
Lib/test/test_ssl.py
Misc/ACKS
Misc/NEWS

index bfeb559f82c2b5cc0f74fdf3f20b3df30d4b8054..96b628158537be723683a633db4f18b2708e4182 100644 (file)
@@ -365,7 +365,7 @@ def DER_cert_to_PEM_cert(der_cert_bytes):
         # preferred because older API gets line-length wrong
         f = base64.standard_b64encode(der_cert_bytes)
         return (PEM_HEADER + '\n' +
-                textwrap.fill(f, 64) +
+                textwrap.fill(f, 64) + '\n' +
                 PEM_FOOTER + '\n')
     else:
         return (PEM_HEADER + '\n' +
index 7c32c1b09f12f72548d79d51e00eee707682ebe5..feb6f50eb4a04da3d5856a9285c8a75b1dba2b25 100644 (file)
@@ -113,6 +113,10 @@ class BasicTests(unittest.TestCase):
         p2 = ssl.DER_cert_to_PEM_cert(d1)
         d2 = ssl.PEM_cert_to_DER_cert(p2)
         self.assertEqual(d1, d2)
+        if not p2.startswith(ssl.PEM_HEADER + '\n'):
+            self.fail("DER-to-PEM didn't include correct header:\n%r\n" % p2)
+        if not p2.endswith('\n' + ssl.PEM_FOOTER + '\n'):
+            self.fail("DER-to-PEM didn't include correct footer:\n%r\n" % p2)
 
     def test_openssl_version(self):
         n = ssl.OPENSSL_VERSION_NUMBER
index af56dd4997be8ac07f39d37e995ce4d327cec095..162bf9ba83cc4919065150c67a39294211846f2c 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -780,6 +780,7 @@ Michael Urman
 Hector Urtubia
 Andi Vajda
 Case Van Horsen
+Kyle VanderBeek
 Atul Varma
 Dmitry Vasiliev
 Alexandre Vassalotti
index 7ba33ba12a984f4876217cd1409f67904f8ae0a0..929a246eaeb16261131a11355b5f87e46f80950f 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -27,6 +27,9 @@ Core and Builtins
 Library
 -------
 
+- Issue #8086: In :func:`ssl.DER_cert_to_PEM_cert()`, fix missing newline
+  before the certificate footer.  Patch by Kyle VanderBeek.
+
 - Issue #8546: Reject None given as the buffering argument to _pyio.open.
 
 - Issue #8549: Fix compiling the _ssl extension under AIX.  Patch by