aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cryptography/hazmat/backends/openssl/decode_asn1.py3
-rw-r--r--src/cryptography/x509/general_name.py3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/decode_asn1.py b/src/cryptography/hazmat/backends/openssl/decode_asn1.py
index 9c2d763e..f178af07 100644
--- a/src/cryptography/hazmat/backends/openssl/decode_asn1.py
+++ b/src/cryptography/hazmat/backends/openssl/decode_asn1.py
@@ -102,7 +102,8 @@ def _decode_general_name(backend, gn):
if parsed.hostname:
hostname = idna.decode(parsed.hostname)
else:
- hostname = ""
+ # There's no IDNA so we can immediately return
+ return x509.UniformResourceIdentifier(data)
if parsed.port:
netloc = hostname + u":" + six.text_type(parsed.port)
else:
diff --git a/src/cryptography/x509/general_name.py b/src/cryptography/x509/general_name.py
index 3ad71e4c..768be3bb 100644
--- a/src/cryptography/x509/general_name.py
+++ b/src/cryptography/x509/general_name.py
@@ -274,7 +274,8 @@ class UniformResourceIdentifier(object):
)
parsed = urllib_parse.urlparse(self.bytes_value)
if not parsed.hostname:
- netloc = ""
+ # There's no idna here so we can immediately return
+ return self.bytes_value.decode("utf-8")
elif parsed.port:
netloc = idna.decode(parsed.hostname) + ":{0}".format(parsed.port)
else: