diff options
author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2015-08-04 22:35:54 +0100 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2015-08-08 06:46:14 -0500 |
commit | bdf425cb183764c23aa7551909369aa8a57a2d65 (patch) | |
tree | 1834d06410021fbcc4b1427fe160cc633a63e8f2 | |
parent | 1cd8fee9c6fa746d395c88df1c6fd59d32280eb5 (diff) | |
download | cryptography-bdf425cb183764c23aa7551909369aa8a57a2d65.tar.gz cryptography-bdf425cb183764c23aa7551909369aa8a57a2d65.tar.bz2 cryptography-bdf425cb183764c23aa7551909369aa8a57a2d65.zip |
support relativename encoding using X509_NAME
X509_NAME contains a STACK_OF(X509_NAME_ENTRY) which we duplicate
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/backend.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py index c2f4ba6d..941f8c38 100644 --- a/src/cryptography/hazmat/backends/openssl/backend.py +++ b/src/cryptography/hazmat/backends/openssl/backend.py @@ -411,9 +411,9 @@ def _encode_crl_distribution_points(backend, crl_distribution_points): dp.reasons = bitmask if point.full_name: - # Type 0 is fullName, there is no #define for it in the code. dpn = backend._lib.DIST_POINT_NAME_new() assert dpn != backend._ffi.NULL + # Type 0 is fullName, there is no #define for it in the code. dpn.type = 0 for name in point.full_name: gns = backend._lib.GENERAL_NAMES_new() @@ -427,10 +427,13 @@ def _encode_crl_distribution_points(backend, crl_distribution_points): dp.distpoint = dpn if point.relative_name: - # TODO: don't duplicate this with fullname above dpn = backend._lib.DIST_POINT_NAME_new() assert dpn != backend._ffi.NULL - dpn.name.relativename = _encode_name(backend, point.relative_name) + dpn.type = 1 + name = _encode_name_gc(backend, point.relative_name) + relativename = backend._lib.sk_X509_NAME_ENTRY_dup(name.entries) + assert relativename != backend._ffi.NULL + dpn.name.relativename = relativename dp.distpoint = dpn if point.crl_issuer: |