diff options
author | Alex Gaynor <alex.gaynor@gmail.com> | 2015-08-05 11:26:02 -0400 |
---|---|---|
committer | Alex Gaynor <alex.gaynor@gmail.com> | 2015-08-05 11:26:02 -0400 |
commit | 38748eb5c144cef79c2272f214c224b15aec818b (patch) | |
tree | 630a66d0ccb2b354b6c32d14e597048c43493830 /src | |
parent | bfc5ce1e685a1ad02f648830b69cb7fa1e6933b3 (diff) | |
parent | cd140a74594b6f1430682db06dc4527396530e4f (diff) | |
download | cryptography-38748eb5c144cef79c2272f214c224b15aec818b.tar.gz cryptography-38748eb5c144cef79c2272f214c224b15aec818b.tar.bz2 cryptography-38748eb5c144cef79c2272f214c224b15aec818b.zip |
Merge pull request #2206 from reaperhulk/refactor-encode-san
refactor SAN encoding to separate out general names in openssl backend
Diffstat (limited to 'src')
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/backend.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py index f9da9ea7..cf294c01 100644 --- a/src/cryptography/hazmat/backends/openssl/backend.py +++ b/src/cryptography/hazmat/backends/openssl/backend.py @@ -228,18 +228,22 @@ def _encode_authority_information_access(backend, authority_info_access): return pp, r -def _encode_subject_alt_name(backend, san): +def _encode_general_names(backend, names): general_names = backend._lib.GENERAL_NAMES_new() assert general_names != backend._ffi.NULL - general_names = backend._ffi.gc( - general_names, backend._lib.GENERAL_NAMES_free - ) - - for alt_name in san: - gn = _encode_general_name(backend, alt_name) + for name in names: + gn = _encode_general_name(backend, name) res = backend._lib.sk_GENERAL_NAME_push(general_names, gn) assert res != 0 + return general_names + + +def _encode_subject_alt_name(backend, san): + general_names = _encode_general_names(backend, san) + general_names = backend._ffi.gc( + general_names, backend._lib.GENERAL_NAMES_free + ) pp = backend._ffi.new("unsigned char **") r = backend._lib.i2d_GENERAL_NAMES(general_names, pp) assert r > 0 |