diff options
-rw-r--r-- | src/cryptography/hazmat/bindings/openssl/binding.py | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/cryptography/hazmat/bindings/openssl/binding.py b/src/cryptography/hazmat/bindings/openssl/binding.py index aa072b4c..7943962f 100644 --- a/src/cryptography/hazmat/bindings/openssl/binding.py +++ b/src/cryptography/hazmat/bindings/openssl/binding.py @@ -10,6 +10,19 @@ import threading from cryptography.hazmat.bindings._openssl import ffi, lib +@ffi.callback("int (*)(unsigned char *, int)", error=-1) +def _osrandom_rand_bytes(buf, size): + signed = ffi.cast("char *", buf) + result = os.urandom(size) + signed[0:size] = result + return 1 + + +@ffi.callback("int (*)(void)") +def _osrandom_rand_status(): + return 1 + + class Binding(object): """ OpenSSL API wrapper. @@ -29,19 +42,6 @@ class Binding(object): def __init__(self): self._ensure_ffi_initialized() - @ffi.callback("int (*)(unsigned char *, int)", error=-1) - @staticmethod - def _osrandom_rand_bytes(buf, size): - signed = ffi.cast("char *", buf) - result = os.urandom(size) - signed[0:size] = result - return 1 - - @ffi.callback("int (*)(void)") - @staticmethod - def _osrandom_rand_status(): - return 1 - _osrandom_method = ffi.new( "RAND_METHOD *", dict(bytes=_osrandom_rand_bytes, pseudorand=_osrandom_rand_bytes, |