aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2016-03-12 16:11:34 -0500
committerAlex Gaynor <alex.gaynor@gmail.com>2016-03-12 16:11:34 -0500
commitc2571094fb9cd5dafcb4324a680743fc0426fd08 (patch)
tree96f5e63e471bedf430b8923b0f887c4835067a6e /src
parent45f1253acc3d94a915d44f0cf855ddafcfe5a630 (diff)
parentbdc066db2551a0e8ded570dbd27640e64f2e6cac (diff)
downloadcryptography-c2571094fb9cd5dafcb4324a680743fc0426fd08.tar.gz
cryptography-c2571094fb9cd5dafcb4324a680743fc0426fd08.tar.bz2
cryptography-c2571094fb9cd5dafcb4324a680743fc0426fd08.zip
Merge pull request #2815 from reaperhulk/error-on-unusual-encodings
Error on unusual encodings
Diffstat (limited to 'src')
-rw-r--r--src/cryptography/hazmat/backends/openssl/decode_asn1.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/decode_asn1.py b/src/cryptography/hazmat/backends/openssl/decode_asn1.py
index 140d3de4..26f56d12 100644
--- a/src/cryptography/hazmat/backends/openssl/decode_asn1.py
+++ b/src/cryptography/hazmat/backends/openssl/decode_asn1.py
@@ -709,7 +709,11 @@ def _asn1_string_to_ascii(backend, asn1_string):
def _asn1_string_to_utf8(backend, asn1_string):
buf = backend._ffi.new("unsigned char **")
res = backend._lib.ASN1_STRING_to_UTF8(buf, asn1_string)
- backend.openssl_assert(res >= 0)
+ if res == -1:
+ raise ValueError(
+ "Unsupported ASN1 string type. Type: {0}".format(asn1_string.type)
+ )
+
backend.openssl_assert(buf[0] != backend._ffi.NULL)
buf = backend._ffi.gc(
buf, lambda buffer: backend._lib.OPENSSL_free(buffer[0])