diff options
author | Kris Kennaway <kris@FreeBSD.org> | 2000-08-20 08:48:49 +0000 |
---|---|---|
committer | Kris Kennaway <kris@FreeBSD.org> | 2000-08-20 08:48:49 +0000 |
commit | 3c1b3e1840b8cbd96c05d29481b22b77d81ea81a (patch) | |
tree | 7d515f88bf14a07b9d023bed0005d23863e495af /crypto/openssl/crypto/rsa/rsa.h | |
parent | acafef530523fc13c3985a9cdf4de0f0406c004a (diff) | |
download | src-3c1b3e1840b8cbd96c05d29481b22b77d81ea81a.tar.gz src-3c1b3e1840b8cbd96c05d29481b22b77d81ea81a.zip |
MFC: OpenSSL 0.9.5a
Notes
Notes:
svn path=/stable/4/; revision=64869
Diffstat (limited to 'crypto/openssl/crypto/rsa/rsa.h')
-rw-r--r-- | crypto/openssl/crypto/rsa/rsa.h | 34 |
1 files changed, 27 insertions, 7 deletions
diff --git a/crypto/openssl/crypto/rsa/rsa.h b/crypto/openssl/crypto/rsa/rsa.h index 3040d03233db..b4492284bfe5 100644 --- a/crypto/openssl/crypto/rsa/rsa.h +++ b/crypto/openssl/crypto/rsa/rsa.h @@ -92,6 +92,18 @@ typedef struct rsa_meth_st int (*finish)(RSA *rsa); /* called at free */ int flags; /* RSA_METHOD_FLAG_* things */ char *app_data; /* may be needed! */ +/* New sign and verify functions: some libraries don't allow arbitrary data + * to be signed/verified: this allows them to be used. Note: for this to work + * the RSA_public_decrypt() and RSA_private_encrypt() should *NOT* be used + * RSA_sign(), RSA_verify() should be used instead. Note: for backwards + * compatibility this functionality is only enabled if the RSA_FLAG_SIGN_VER + * option is set in 'flags'. + */ + int (*rsa_sign)(int type, unsigned char *m, unsigned int m_len, + unsigned char *sigret, unsigned int *siglen, RSA *rsa); + int (*rsa_verify)(int dtype, unsigned char *m, unsigned int m_len, + unsigned char *sigbuf, unsigned int siglen, RSA *rsa); + } RSA_METHOD; struct rsa_st @@ -141,12 +153,16 @@ struct rsa_st */ #define RSA_FLAG_EXT_PKEY 0x20 +/* This flag in the RSA_METHOD enables the new rsa_sign, rsa_verify functions. + */ +#define RSA_FLAG_SIGN_VER 0x40 + #define RSA_PKCS1_PADDING 1 #define RSA_SSLV23_PADDING 2 #define RSA_NO_PADDING 3 #define RSA_PKCS1_OAEP_PADDING 4 -#define RSA_set_app_data(s,arg) RSA_set_ex_data(s,0,(char *)arg) +#define RSA_set_app_data(s,arg) RSA_set_ex_data(s,0,arg) #define RSA_get_app_data(s) RSA_get_ex_data(s,0) RSA * RSA_new(void); @@ -179,6 +195,8 @@ int RSA_memory_lock(RSA *r); /* these are the actual SSLeay RSA functions */ RSA_METHOD *RSA_PKCS1(void); +RSA_METHOD *RSA_null_method(void); + void ERR_load_RSA_strings(void ); RSA * d2i_RSAPublicKey(RSA **a, unsigned char **pp, long length); @@ -239,12 +257,11 @@ int RSA_padding_add_none(unsigned char *to,int tlen, int RSA_padding_check_none(unsigned char *to,int tlen, unsigned char *f,int fl,int rsa_len); -int RSA_get_ex_new_index(long argl, char *argp, int (*new_func)(), - int (*dup_func)(), void (*free_func)()); -int RSA_set_ex_data(RSA *r,int idx,char *arg); -char *RSA_get_ex_data(RSA *r, int idx); - int RSA_libversion(); +int RSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int RSA_set_ex_data(RSA *r,int idx,void *arg); +void *RSA_get_ex_data(RSA *r, int idx); /* BEGIN ERROR CODES */ /* The following lines are auto generated by the script mkerr.pl. Any changes @@ -262,6 +279,7 @@ int RSA_libversion(); #define RSA_F_RSA_EAY_PUBLIC_ENCRYPT 104 #define RSA_F_RSA_GENERATE_KEY 105 #define RSA_F_RSA_NEW_METHOD 106 +#define RSA_F_RSA_NULL 124 #define RSA_F_RSA_PADDING_ADD_NONE 107 #define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP 121 #define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1 108 @@ -292,10 +310,11 @@ int RSA_libversion(); #define RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 110 #define RSA_R_DATA_TOO_SMALL 111 #define RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE 122 -#define RSA_R_D_E_NOT_CONGRUENT_TO_1 123 #define RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY 112 #define RSA_R_DMP1_NOT_CONGRUENT_TO_D 124 #define RSA_R_DMQ1_NOT_CONGRUENT_TO_D 125 +#define RSA_R_D_E_NOT_CONGRUENT_TO_1 123 +#define RSA_R_INVALID_MESSAGE_LENGTH 131 #define RSA_R_IQMP_NOT_INVERSE_OF_Q 126 #define RSA_R_KEY_SIZE_TOO_SMALL 120 #define RSA_R_NULL_BEFORE_BLOCK_MISSING 113 @@ -304,6 +323,7 @@ int RSA_libversion(); #define RSA_R_PADDING_CHECK_FAILED 114 #define RSA_R_P_NOT_PRIME 128 #define RSA_R_Q_NOT_PRIME 129 +#define RSA_R_RSA_OPERATIONS_NOT_SUPPORTED 130 #define RSA_R_SSLV3_ROLLBACK_ATTACK 115 #define RSA_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 116 #define RSA_R_UNKNOWN_ALGORITHM_TYPE 117 |