Add support for RSA_R_OAEP_DECODING_ERROR error flag.
diff --git a/src/_cffi_src/openssl/err.py b/src/_cffi_src/openssl/err.py
index 6ec1377..3eb783e 100644
--- a/src/_cffi_src/openssl/err.py
+++ b/src/_cffi_src/openssl/err.py
@@ -14,6 +14,7 @@
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_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 = 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 664f6d3..1be6f05 100644
--- a/src/cryptography/hazmat/backends/openssl/rsa.py
+++ b/src/cryptography/hazmat/backends/openssl/rsa.py
@@ -142,6 +142,9 @@
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 206c291..c4e39db 100644
--- a/src/cryptography/hazmat/bindings/openssl/_conditional.py
+++ b/src/cryptography/hazmat/bindings/openssl/_conditional.py
@@ -219,6 +219,9 @@
"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",