| Index: openssl/crypto/rsa/rsa.h
|
| ===================================================================
|
| --- openssl/crypto/rsa/rsa.h (revision 105093)
|
| +++ openssl/crypto/rsa/rsa.h (working copy)
|
| @@ -74,25 +74,6 @@
|
| #error RSA is disabled.
|
| #endif
|
|
|
| -/* If this flag is set the RSA method is FIPS compliant and can be used
|
| - * in FIPS mode. This is set in the validated module method. If an
|
| - * application sets this flag in its own methods it is its reposibility
|
| - * to ensure the result is compliant.
|
| - */
|
| -
|
| -#define RSA_FLAG_FIPS_METHOD 0x0400
|
| -
|
| -/* If this flag is set the operations normally disabled in FIPS mode are
|
| - * permitted it is then the applications responsibility to ensure that the
|
| - * usage is compliant.
|
| - */
|
| -
|
| -#define RSA_FLAG_NON_FIPS_ALLOW 0x0400
|
| -
|
| -#ifdef OPENSSL_FIPS
|
| -#define FIPS_RSA_SIZE_T int
|
| -#endif
|
| -
|
| #ifdef __cplusplus
|
| extern "C" {
|
| #endif
|
| @@ -136,7 +117,8 @@
|
| unsigned char *sigret, unsigned int *siglen, const RSA *rsa);
|
| int (*rsa_verify)(int dtype,
|
| const unsigned char *m, unsigned int m_length,
|
| - unsigned char *sigbuf, unsigned int siglen, const RSA *rsa);
|
| + const unsigned char *sigbuf, unsigned int siglen,
|
| + const RSA *rsa);
|
| /* If this callback is NULL, the builtin software RSA key-gen will be used. This
|
| * is for behavioural compatibility whilst the code gets rewired, but one day
|
| * it would be nice to assume there are no such things as "builtin software"
|
| @@ -182,8 +164,6 @@
|
| # define OPENSSL_RSA_MAX_MODULUS_BITS 16384
|
| #endif
|
|
|
| -#define OPENSSL_RSA_FIPS_MIN_MODULUS_BITS 1024
|
| -
|
| #ifndef OPENSSL_RSA_SMALL_MODULUS_BITS
|
| # define OPENSSL_RSA_SMALL_MODULUS_BITS 3072
|
| #endif
|
| @@ -238,11 +218,37 @@
|
| #endif
|
|
|
|
|
| +#define EVP_PKEY_CTX_set_rsa_padding(ctx, pad) \
|
| + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, -1, EVP_PKEY_CTRL_RSA_PADDING, \
|
| + pad, NULL)
|
| +
|
| +#define EVP_PKEY_CTX_set_rsa_pss_saltlen(ctx, len) \
|
| + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \
|
| + (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \
|
| + EVP_PKEY_CTRL_RSA_PSS_SALTLEN, \
|
| + len, NULL)
|
| +
|
| +#define EVP_PKEY_CTX_set_rsa_keygen_bits(ctx, bits) \
|
| + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_KEYGEN, \
|
| + EVP_PKEY_CTRL_RSA_KEYGEN_BITS, bits, NULL)
|
| +
|
| +#define EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx, pubexp) \
|
| + EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_KEYGEN, \
|
| + EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP, 0, pubexp)
|
| +
|
| +#define EVP_PKEY_CTRL_RSA_PADDING (EVP_PKEY_ALG_CTRL + 1)
|
| +#define EVP_PKEY_CTRL_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 2)
|
| +
|
| +#define EVP_PKEY_CTRL_RSA_KEYGEN_BITS (EVP_PKEY_ALG_CTRL + 3)
|
| +#define EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP (EVP_PKEY_ALG_CTRL + 4)
|
| +
|
| #define RSA_PKCS1_PADDING 1
|
| #define RSA_SSLV23_PADDING 2
|
| #define RSA_NO_PADDING 3
|
| #define RSA_PKCS1_OAEP_PADDING 4
|
| #define RSA_X931_PADDING 5
|
| +/* EVP_PKEY_ only */
|
| +#define RSA_PKCS1_PSS_PADDING 6
|
|
|
| #define RSA_PKCS1_PADDING_SIZE 11
|
|
|
| @@ -261,11 +267,6 @@
|
|
|
| /* New version */
|
| int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb);
|
| -int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2, BIGNUM *q1, BIGNUM *q2,
|
| - const BIGNUM *Xp1, const BIGNUM *Xp2, const BIGNUM *Xp,
|
| - const BIGNUM *Xq1, const BIGNUM *Xq2, const BIGNUM *Xq,
|
| - const BIGNUM *e, BN_GENCB *cb);
|
| -int RSA_X931_generate_key_ex(RSA *rsa, int bits, const BIGNUM *e, BN_GENCB *cb);
|
|
|
| int RSA_check_key(const RSA *);
|
| /* next 4 return -1 on error */
|
| @@ -283,11 +284,6 @@
|
|
|
| int RSA_flags(const RSA *r);
|
|
|
| -#ifdef OPENSSL_FIPS
|
| -RSA *FIPS_rsa_new(void);
|
| -void FIPS_rsa_free(RSA *r);
|
| -#endif
|
| -
|
| void RSA_set_default_method(const RSA_METHOD *meth);
|
| const RSA_METHOD *RSA_get_default_method(void);
|
| const RSA_METHOD *RSA_get_method(const RSA *rsa);
|
| @@ -333,7 +329,7 @@
|
| int RSA_sign(int type, const unsigned char *m, unsigned int m_length,
|
| unsigned char *sigret, unsigned int *siglen, RSA *rsa);
|
| int RSA_verify(int type, const unsigned char *m, unsigned int m_length,
|
| - unsigned char *sigbuf, unsigned int siglen, RSA *rsa);
|
| + const unsigned char *sigbuf, unsigned int siglen, RSA *rsa);
|
|
|
| /* The following 2 function sign and verify a ASN1_OCTET_STRING
|
| * object inside PKCS#1 padded RSA encryption */
|
| @@ -401,9 +397,15 @@
|
| /* Error codes for the RSA functions. */
|
|
|
| /* Function codes. */
|
| -#define RSA_F_FIPS_RSA_SIGN 140
|
| -#define RSA_F_FIPS_RSA_VERIFY 141
|
| +#define RSA_F_CHECK_PADDING_MD 140
|
| +#define RSA_F_DO_RSA_PRINT 146
|
| +#define RSA_F_INT_RSA_VERIFY 145
|
| #define RSA_F_MEMORY_LOCK 100
|
| +#define RSA_F_OLD_RSA_PRIV_DECODE 147
|
| +#define RSA_F_PKEY_RSA_CTRL 143
|
| +#define RSA_F_PKEY_RSA_CTRL_STR 144
|
| +#define RSA_F_PKEY_RSA_SIGN 142
|
| +#define RSA_F_PKEY_RSA_VERIFYRECOVER 141
|
| #define RSA_F_RSA_BUILTIN_KEYGEN 129
|
| #define RSA_F_RSA_CHECK_KEY 123
|
| #define RSA_F_RSA_EAY_PRIVATE_DECRYPT 101
|
| @@ -434,11 +436,10 @@
|
| #define RSA_F_RSA_PADDING_CHECK_X931 128
|
| #define RSA_F_RSA_PRINT 115
|
| #define RSA_F_RSA_PRINT_FP 116
|
| -#define RSA_F_RSA_PRIVATE_ENCRYPT 137
|
| -#define RSA_F_RSA_PUBLIC_DECRYPT 138
|
| +#define RSA_F_RSA_PRIV_DECODE 137
|
| +#define RSA_F_RSA_PRIV_ENCODE 138
|
| +#define RSA_F_RSA_PUB_DECODE 139
|
| #define RSA_F_RSA_SETUP_BLINDING 136
|
| -#define RSA_F_RSA_SET_DEFAULT_METHOD 139
|
| -#define RSA_F_RSA_SET_METHOD 142
|
| #define RSA_F_RSA_SIGN 117
|
| #define RSA_F_RSA_SIGN_ASN1_OCTET_STRING 118
|
| #define RSA_F_RSA_VERIFY 119
|
| @@ -464,20 +465,25 @@
|
| #define RSA_R_DMQ1_NOT_CONGRUENT_TO_D 125
|
| #define RSA_R_D_E_NOT_CONGRUENT_TO_1 123
|
| #define RSA_R_FIRST_OCTET_INVALID 133
|
| +#define RSA_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE 144
|
| +#define RSA_R_INVALID_DIGEST_LENGTH 143
|
| #define RSA_R_INVALID_HEADER 137
|
| +#define RSA_R_INVALID_KEYBITS 145
|
| #define RSA_R_INVALID_MESSAGE_LENGTH 131
|
| #define RSA_R_INVALID_PADDING 138
|
| +#define RSA_R_INVALID_PADDING_MODE 141
|
| +#define RSA_R_INVALID_PSS_SALTLEN 146
|
| #define RSA_R_INVALID_TRAILER 139
|
| +#define RSA_R_INVALID_X931_DIGEST 142
|
| #define RSA_R_IQMP_NOT_INVERSE_OF_Q 126
|
| #define RSA_R_KEY_SIZE_TOO_SMALL 120
|
| #define RSA_R_LAST_OCTET_INVALID 134
|
| #define RSA_R_MODULUS_TOO_LARGE 105
|
| -#define RSA_R_NON_FIPS_METHOD 141
|
| #define RSA_R_NO_PUBLIC_EXPONENT 140
|
| #define RSA_R_NULL_BEFORE_BLOCK_MISSING 113
|
| #define RSA_R_N_DOES_NOT_EQUAL_P_Q 127
|
| #define RSA_R_OAEP_DECODING_ERROR 121
|
| -#define RSA_R_OPERATION_NOT_ALLOWED_IN_FIPS_MODE 142
|
| +#define RSA_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 148
|
| #define RSA_R_PADDING_CHECK_FAILED 114
|
| #define RSA_R_P_NOT_PRIME 128
|
| #define RSA_R_Q_NOT_PRIME 129
|
| @@ -488,6 +494,7 @@
|
| #define RSA_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 116
|
| #define RSA_R_UNKNOWN_ALGORITHM_TYPE 117
|
| #define RSA_R_UNKNOWN_PADDING_TYPE 118
|
| +#define RSA_R_VALUE_MISSING 147
|
| #define RSA_R_WRONG_SIGNATURE_LENGTH 119
|
|
|
| #ifdef __cplusplus
|
|
|