diff options
author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2016-03-11 23:40:12 -0400 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2016-03-12 09:12:02 -0400 |
commit | ab973321f6012626e63420603c34e2975f42f237 (patch) | |
tree | dc42bb4e6f69a5a0b6cdcfe5da20b001566764bf /src | |
parent | 5c66c183913b1f94930100bd0543b8533584a761 (diff) | |
download | cryptography-ab973321f6012626e63420603c34e2975f42f237.tar.gz cryptography-ab973321f6012626e63420603c34e2975f42f237.tar.bz2 cryptography-ab973321f6012626e63420603c34e2975f42f237.zip |
raise type error rather than internalerror w/ unsupported asn1 in subject
Diffstat (limited to 'src')
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/decode_asn1.py | 6 |
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..67586c22 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 TypeError( + "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]) |