diff options
| -rw-r--r-- | src/_cffi_src/openssl/evp.py | 39 | ||||
| -rw-r--r-- | src/cryptography/hazmat/backends/openssl/rsa.py | 4 | 
2 files changed, 11 insertions, 32 deletions
diff --git a/src/_cffi_src/openssl/evp.py b/src/_cffi_src/openssl/evp.py index 7abf80d5..dd8fb86c 100644 --- a/src/_cffi_src/openssl/evp.py +++ b/src/_cffi_src/openssl/evp.py @@ -48,10 +48,12 @@ int EVP_CipherInit_ex(EVP_CIPHER_CTX *, const EVP_CIPHER *, ENGINE *,  int EVP_CipherUpdate(EVP_CIPHER_CTX *, unsigned char *, int *,                       const unsigned char *, int);  int EVP_CipherFinal_ex(EVP_CIPHER_CTX *, unsigned char *, int *); +int EVP_CIPHER_block_size(const EVP_CIPHER *);  int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *);  EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void);  void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *);  int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *, int); +const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *);  int EVP_MD_CTX_copy_ex(EVP_MD_CTX *, const EVP_MD_CTX *);  int EVP_DigestInit_ex(EVP_MD_CTX *, const EVP_MD *, ENGINE *); @@ -59,6 +61,8 @@ int EVP_DigestUpdate(EVP_MD_CTX *, const void *, size_t);  int EVP_DigestFinal_ex(EVP_MD_CTX *, unsigned char *, unsigned int *);  int EVP_MD_CTX_cleanup(EVP_MD_CTX *);  const EVP_MD *EVP_get_digestbyname(const char *); +const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *); +int EVP_MD_size(const EVP_MD *);  EVP_PKEY *EVP_PKEY_new(void);  void EVP_PKEY_free(EVP_PKEY *); @@ -69,6 +73,11 @@ RSA *EVP_PKEY_get1_RSA(EVP_PKEY *);  DSA *EVP_PKEY_get1_DSA(EVP_PKEY *);  DH *EVP_PKEY_get1_DH(EVP_PKEY *); +int EVP_PKEY_encrypt(EVP_PKEY_CTX *, unsigned char *, size_t *, +                     const unsigned char *, size_t); +int EVP_PKEY_decrypt(EVP_PKEY_CTX *, unsigned char *, size_t *, +                     const unsigned char *, size_t); +  int EVP_SignInit(EVP_MD_CTX *, const EVP_MD *);  int EVP_SignUpdate(EVP_MD_CTX *, const void *, size_t);  int EVP_SignFinal(EVP_MD_CTX *, unsigned char *, unsigned int *, EVP_PKEY *); @@ -154,21 +163,6 @@ int EVP_PKEY_verify(EVP_PKEY_CTX *, const unsigned char *, size_t,                      const unsigned char *, size_t);  int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *);  int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *); - -/* The following were macros in 0.9.8e. Once we drop support for RHEL/CentOS 5 -   we should move these back to FUNCTIONS. */ -const EVP_CIPHER *EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *); -int EVP_CIPHER_block_size(const EVP_CIPHER *); -const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *); -int EVP_MD_size(const EVP_MD *); - -/* Must be in macros because EVP_PKEY_CTX is undefined in 0.9.8 */ -int Cryptography_EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx, unsigned char *out, -                                  size_t *outlen, const unsigned char *in, -                                  size_t inlen); -int Cryptography_EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx, unsigned char *out, -                                  size_t *outlen, const unsigned char *in, -                                  size_t inlen);  """  CUSTOMIZATIONS = """ @@ -184,21 +178,6 @@ const long EVP_CTRL_GCM_SET_IVLEN = -1;  const long Cryptography_HAS_PBKDF2_HMAC = 1;  const long Cryptography_HAS_PKEY_CTX = 1; -/* OpenSSL 0.9.8 defines EVP_PKEY_encrypt and EVP_PKEY_decrypt functions, -   but they are a completely different signature from the ones in 1.0.0+. -   These wrapper functions allows us to safely declare them on any version and -   conditionally remove them on 0.9.8. */ -int Cryptography_EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx, unsigned char *out, -                                  size_t *outlen, const unsigned char *in, -                                  size_t inlen) { -    return EVP_PKEY_encrypt(ctx, out, outlen, in, inlen); -} -int Cryptography_EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx, unsigned char *out, -                                  size_t *outlen, const unsigned char *in, -                                  size_t inlen) { -    return EVP_PKEY_decrypt(ctx, out, outlen, in, inlen); -} -  #ifdef OPENSSL_NO_EC  int (*EVP_PKEY_assign_EC_KEY)(EVP_PKEY *, EC_KEY *) = NULL;  EC_KEY *(*EVP_PKEY_get1_EC_KEY)(EVP_PKEY *) = NULL; diff --git a/src/cryptography/hazmat/backends/openssl/rsa.py b/src/cryptography/hazmat/backends/openssl/rsa.py index d96ef2df..63ba6273 100644 --- a/src/cryptography/hazmat/backends/openssl/rsa.py +++ b/src/cryptography/hazmat/backends/openssl/rsa.py @@ -74,10 +74,10 @@ def _enc_dec_rsa(backend, key, data, padding):  def _enc_dec_rsa_pkey_ctx(backend, key, data, padding_enum, padding):      if isinstance(key, _RSAPublicKey):          init = backend._lib.EVP_PKEY_encrypt_init -        crypt = backend._lib.Cryptography_EVP_PKEY_encrypt +        crypt = backend._lib.EVP_PKEY_encrypt      else:          init = backend._lib.EVP_PKEY_decrypt_init -        crypt = backend._lib.Cryptography_EVP_PKEY_decrypt +        crypt = backend._lib.EVP_PKEY_decrypt      pkey_ctx = backend._lib.EVP_PKEY_CTX_new(          key._evp_pkey, backend._ffi.NULL  | 
