aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/_cffi_src/openssl/err.py9
-rw-r--r--src/cryptography/hazmat/backends/openssl/rsa.py3
-rw-r--r--src/cryptography/hazmat/bindings/openssl/_conditional.py3
3 files changed, 15 insertions, 0 deletions
diff --git a/src/_cffi_src/openssl/err.py b/src/_cffi_src/openssl/err.py
index 6ec13775..3eb783ee 100644
--- a/src/_cffi_src/openssl/err.py
+++ b/src/_cffi_src/openssl/err.py
@@ -14,6 +14,7 @@ static const int Cryptography_HAS_098H_ERROR_CODES;
static const int Cryptography_HAS_098C_CAMELLIA_CODES;
static const int Cryptography_HAS_EC_CODES;
static const int Cryptography_HAS_RSA_R_PKCS_DECODING_ERROR;
+static const int Cryptography_HAS_RSA_R_OAEP_DECODING_ERROR;
struct ERR_string_data_st {
unsigned long error;
@@ -230,6 +231,7 @@ static const int RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY;
static const int RSA_R_BLOCK_TYPE_IS_NOT_01;
static const int RSA_R_BLOCK_TYPE_IS_NOT_02;
static const int RSA_R_PKCS_DECODING_ERROR;
+static const int RSA_R_OAEP_DECODING_ERROR;
static const int RSA_F_RSA_SIGN;
"""
@@ -334,4 +336,11 @@ static const long Cryptography_HAS_RSA_R_PKCS_DECODING_ERROR = 1;
static const long Cryptography_HAS_RSA_R_PKCS_DECODING_ERROR = 0;
static const long RSA_R_PKCS_DECODING_ERROR = 0;
#endif
+
+#ifdef RSA_R_OAEP_DECODING_ERROR
+static const long Cryptography_HAS_RSA_R_OAEP_DECODING_ERROR = 1;
+#else
+static const long Cryptography_HAS_RSA_R_OAEP_DECODING_ERROR = 0;
+static const long RSA_R_OAEP_DECODING_ERROR = 0;
+#endif
"""
diff --git a/src/cryptography/hazmat/backends/openssl/rsa.py b/src/cryptography/hazmat/backends/openssl/rsa.py
index 664f6d35..1be6f059 100644
--- a/src/cryptography/hazmat/backends/openssl/rsa.py
+++ b/src/cryptography/hazmat/backends/openssl/rsa.py
@@ -142,6 +142,9 @@ def _handle_rsa_enc_dec_error(backend, key):
if backend._lib.Cryptography_HAS_RSA_R_PKCS_DECODING_ERROR:
decoding_errors.append(backend._lib.RSA_R_PKCS_DECODING_ERROR)
+ if backend._lib.Cryptography_HAS_RSA_R_OAEP_DECODING_ERROR:
+ decoding_errors.append(backend._lib.RSA_R_OAEP_DECODING_ERROR)
+
assert errors[0].reason in decoding_errors
raise ValueError("Decryption failed.")
diff --git a/src/cryptography/hazmat/bindings/openssl/_conditional.py b/src/cryptography/hazmat/bindings/openssl/_conditional.py
index 206c2915..c4e39db9 100644
--- a/src/cryptography/hazmat/bindings/openssl/_conditional.py
+++ b/src/cryptography/hazmat/bindings/openssl/_conditional.py
@@ -219,6 +219,9 @@ CONDITIONAL_NAMES = {
"Cryptography_HAS_RSA_R_PKCS_DECODING_ERROR": [
"RSA_R_PKCS_DECODING_ERROR"
],
+ "Cryptography_HAS_RSA_R_OAEP_DECODING_ERROR": [
+ "RSA_R_OAEP_DECODING_ERROR"
+ ],
"Cryptography_HAS_GCM": [
"EVP_CTRL_GCM_GET_TAG",
"EVP_CTRL_GCM_SET_TAG",