summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2018-04-10 03:50:35 +0800
committerJon Wayne Parrott <jonwayne@google.com>2018-04-09 12:50:35 -0700
commitda86fb6c3f44281d808ceb14d8f2a01895cab6e5 (patch)
tree8c6ec8e1da4529e0bb871a02f445ce60d7fcb0fc
parentb9b97974c6d2d1ade1d1d1d7a6b7496b2e61f5ca (diff)
downloadurllib3-da86fb6c3f44281d808ceb14d8f2a01895cab6e5.tar.gz
Be tolerant of non-unix line endings for securetransport cert bundles (#1355)
-rw-r--r--urllib3/contrib/_securetransport/low_level.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/urllib3/contrib/_securetransport/low_level.py b/urllib3/contrib/_securetransport/low_level.py
index 5e3494bc..3d5d4ce0 100644
--- a/urllib3/contrib/_securetransport/low_level.py
+++ b/urllib3/contrib/_securetransport/low_level.py
@@ -111,6 +111,9 @@ def _cert_array_from_pem(pem_bundle):
Given a bundle of certs in PEM format, turns them into a CFArray of certs
that can be used to validate a cert chain.
"""
+ # Normalize the PEM bundle's line endings.
+ pem_bundle = pem_bundle.replace(b"\r\n", b"\n")
+
der_certs = [
base64.b64decode(match.group(1))
for match in _PEM_CERTS_RE.finditer(pem_bundle)