From 51924aa151e03d8c2adcb40c08ca5a39b566e7c5 Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Wed, 25 Mar 2015 00:15:09 -0500 Subject: allow zero value bn using _bn_to_int in the openssl backend --- src/cryptography/hazmat/backends/openssl/backend.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py index 59503bd9..60aa4531 100644 --- a/src/cryptography/hazmat/backends/openssl/backend.py +++ b/src/cryptography/hazmat/backends/openssl/backend.py @@ -327,7 +327,8 @@ class Backend(object): bn_num_bytes = (self._lib.BN_num_bits(bn) + 7) // 8 bin_ptr = self._ffi.new("unsigned char[]", bn_num_bytes) bin_len = self._lib.BN_bn2bin(bn, bin_ptr) - assert bin_len > 0 + # A zero length means the BN has value 0 + assert bin_len >= 0 assert bin_ptr != self._ffi.NULL return int.from_bytes(self._ffi.buffer(bin_ptr)[:bin_len], "big") -- cgit v1.2.3