Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/openssl/rsa.h
$ cat -n /usr/include/openssl/rsa.h 1 /* 2 * Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved. 3 * 4 * Licensed under the Apache License 2.0 (the "License"). You may not use 5 * this file except in compliance with the License. You can obtain a copy 6 * in the file LICENSE in the source distribution or at 7 * https://www.openssl.org/source/license.html 8 */ 9 10 #ifndef OPENSSL_RSA_H 11 # define OPENSSL_RSA_H 12 # pragma once 13 14 # include
15 # ifndef OPENSSL_NO_DEPRECATED_3_0 16 # define HEADER_RSA_H 17 # endif 18 19 # include
20 21 # include
22 # include
23 # include
24 # include
25 # ifndef OPENSSL_NO_DEPRECATED_1_1_0 26 # include
27 # endif 28 # include
29 # include
30 31 # ifdef __cplusplus 32 extern "C" { 33 # endif 34 35 # ifndef OPENSSL_RSA_MAX_MODULUS_BITS 36 # define OPENSSL_RSA_MAX_MODULUS_BITS 16384 37 # endif 38 39 # define RSA_3 0x3L 40 # define RSA_F4 0x10001L 41 42 # ifndef OPENSSL_NO_DEPRECATED_3_0 43 /* The types RSA and RSA_METHOD are defined in ossl_typ.h */ 44 45 # define OPENSSL_RSA_FIPS_MIN_MODULUS_BITS 2048 46 47 # ifndef OPENSSL_RSA_SMALL_MODULUS_BITS 48 # define OPENSSL_RSA_SMALL_MODULUS_BITS 3072 49 # endif 50 51 /* exponent limit enforced for "large" modulus only */ 52 # ifndef OPENSSL_RSA_MAX_PUBEXP_BITS 53 # define OPENSSL_RSA_MAX_PUBEXP_BITS 64 54 # endif 55 /* based on RFC 8017 appendix A.1.2 */ 56 # define RSA_ASN1_VERSION_DEFAULT 0 57 # define RSA_ASN1_VERSION_MULTI 1 58 59 # define RSA_DEFAULT_PRIME_NUM 2 60 61 # define RSA_METHOD_FLAG_NO_CHECK 0x0001 62 # define RSA_FLAG_CACHE_PUBLIC 0x0002 63 # define RSA_FLAG_CACHE_PRIVATE 0x0004 64 # define RSA_FLAG_BLINDING 0x0008 65 # define RSA_FLAG_THREAD_SAFE 0x0010 66 /* 67 * This flag means the private key operations will be handled by rsa_mod_exp 68 * and that they do not depend on the private key components being present: 69 * for example a key stored in external hardware. Without this flag 70 * bn_mod_exp gets called when private key components are absent. 71 */ 72 # define RSA_FLAG_EXT_PKEY 0x0020 73 74 /* 75 * new with 0.9.6j and 0.9.7b; the built-in 76 * RSA implementation now uses blinding by 77 * default (ignoring RSA_FLAG_BLINDING), 78 * but other engines might not need it 79 */ 80 # define RSA_FLAG_NO_BLINDING 0x0080 81 # endif /* OPENSSL_NO_DEPRECATED_3_0 */ 82 /* 83 * Does nothing. Previously this switched off constant time behaviour. 84 */ 85 # ifndef OPENSSL_NO_DEPRECATED_1_1_0 86 # define RSA_FLAG_NO_CONSTTIME 0x0000 87 # endif 88 /* deprecated name for the flag*/ 89 /* 90 * new with 0.9.7h; the built-in RSA 91 * implementation now uses constant time 92 * modular exponentiation for secret exponents 93 * by default. This flag causes the 94 * faster variable sliding window method to 95 * be used for all exponents. 96 */ 97 # ifndef OPENSSL_NO_DEPRECATED_0_9_8 98 # define RSA_FLAG_NO_EXP_CONSTTIME RSA_FLAG_NO_CONSTTIME 99 # endif 100 101 /*- 102 * New with 3.0: use part of the flags to denote exact type of RSA key, 103 * some of which are limited to specific signature and encryption schemes. 104 * These different types share the same RSA structure, but indicate the 105 * use of certain fields in that structure. 106 * Currently known are: 107 * RSA - this is the "normal" unlimited RSA structure (typenum 0) 108 * RSASSA-PSS - indicates that the PSS parameters are used. 109 * RSAES-OAEP - no specific field used for the moment, but OAEP padding 110 * is expected. (currently unused) 111 * 112 * 4 bits allow for 16 types 113 */ 114 # define RSA_FLAG_TYPE_MASK 0xF000 115 # define RSA_FLAG_TYPE_RSA 0x0000 116 # define RSA_FLAG_TYPE_RSASSAPSS 0x1000 117 # define RSA_FLAG_TYPE_RSAESOAEP 0x2000 118 119 int EVP_PKEY_CTX_set_rsa_padding(EVP_PKEY_CTX *ctx, int pad_mode); 120 int EVP_PKEY_CTX_get_rsa_padding(EVP_PKEY_CTX *ctx, int *pad_mode); 121 122 int EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int saltlen); 123 int EVP_PKEY_CTX_get_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int *saltlen); 124 125 int EVP_PKEY_CTX_set_rsa_keygen_bits(EVP_PKEY_CTX *ctx, int bits); 126 int EVP_PKEY_CTX_set1_rsa_keygen_pubexp(EVP_PKEY_CTX *ctx, BIGNUM *pubexp); 127 int EVP_PKEY_CTX_set_rsa_keygen_primes(EVP_PKEY_CTX *ctx, int primes); 128 int EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(EVP_PKEY_CTX *ctx, int saltlen); 129 # ifndef OPENSSL_NO_DEPRECATED_3_0 130 OSSL_DEPRECATEDIN_3_0 131 int EVP_PKEY_CTX_set_rsa_keygen_pubexp(EVP_PKEY_CTX *ctx, BIGNUM *pubexp); 132 # endif 133 134 /* Salt length matches digest */ 135 # define RSA_PSS_SALTLEN_DIGEST -1 136 /* Verify only: auto detect salt length */ 137 # define RSA_PSS_SALTLEN_AUTO -2 138 /* Set salt length to maximum possible */ 139 # define RSA_PSS_SALTLEN_MAX -3 140 /* Old compatible max salt length for sign only */ 141 # define RSA_PSS_SALTLEN_MAX_SIGN -2 142 143 int EVP_PKEY_CTX_set_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); 144 int EVP_PKEY_CTX_set_rsa_mgf1_md_name(EVP_PKEY_CTX *ctx, const char *mdname, 145 const char *mdprops); 146 int EVP_PKEY_CTX_get_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD **md); 147 int EVP_PKEY_CTX_get_rsa_mgf1_md_name(EVP_PKEY_CTX *ctx, char *name, 148 size_t namelen); 149 int EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); 150 int EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md_name(EVP_PKEY_CTX *ctx, 151 const char *mdname); 152 153 int EVP_PKEY_CTX_set_rsa_pss_keygen_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); 154 int EVP_PKEY_CTX_set_rsa_pss_keygen_md_name(EVP_PKEY_CTX *ctx, 155 const char *mdname, 156 const char *mdprops); 157 158 int EVP_PKEY_CTX_set_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD *md); 159 int EVP_PKEY_CTX_set_rsa_oaep_md_name(EVP_PKEY_CTX *ctx, const char *mdname, 160 const char *mdprops); 161 int EVP_PKEY_CTX_get_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD **md); 162 int EVP_PKEY_CTX_get_rsa_oaep_md_name(EVP_PKEY_CTX *ctx, char *name, 163 size_t namelen); 164 int EVP_PKEY_CTX_set0_rsa_oaep_label(EVP_PKEY_CTX *ctx, void *label, int llen); 165 int EVP_PKEY_CTX_get0_rsa_oaep_label(EVP_PKEY_CTX *ctx, unsigned char **label); 166 167 # define EVP_PKEY_CTRL_RSA_PADDING (EVP_PKEY_ALG_CTRL + 1) 168 # define EVP_PKEY_CTRL_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 2) 169 170 # define EVP_PKEY_CTRL_RSA_KEYGEN_BITS (EVP_PKEY_ALG_CTRL + 3) 171 # define EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP (EVP_PKEY_ALG_CTRL + 4) 172 # define EVP_PKEY_CTRL_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 5) 173 174 # define EVP_PKEY_CTRL_GET_RSA_PADDING (EVP_PKEY_ALG_CTRL + 6) 175 # define EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 7) 176 # define EVP_PKEY_CTRL_GET_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 8) 177 178 # define EVP_PKEY_CTRL_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 9) 179 # define EVP_PKEY_CTRL_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 10) 180 181 # define EVP_PKEY_CTRL_GET_RSA_OAEP_MD (EVP_PKEY_ALG_CTRL + 11) 182 # define EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL (EVP_PKEY_ALG_CTRL + 12) 183 184 # define EVP_PKEY_CTRL_RSA_KEYGEN_PRIMES (EVP_PKEY_ALG_CTRL + 13) 185 186 # define EVP_PKEY_CTRL_RSA_IMPLICIT_REJECTION (EVP_PKEY_ALG_CTRL + 14) 187 188 # define RSA_PKCS1_PADDING 1 189 # define RSA_NO_PADDING 3 190 # define RSA_PKCS1_OAEP_PADDING 4 191 # define RSA_X931_PADDING 5 192 193 /* EVP_PKEY_ only */ 194 # define RSA_PKCS1_PSS_PADDING 6 195 # define RSA_PKCS1_WITH_TLS_PADDING 7 196 197 /* internal RSA_ only */ 198 # define RSA_PKCS1_NO_IMPLICIT_REJECT_PADDING 8 199 200 # define RSA_PKCS1_PADDING_SIZE 11 201 202 # define RSA_set_app_data(s,arg) RSA_set_ex_data(s,0,arg) 203 # define RSA_get_app_data(s) RSA_get_ex_data(s,0) 204 205 # ifndef OPENSSL_NO_DEPRECATED_3_0 206 OSSL_DEPRECATEDIN_3_0 RSA *RSA_new(void); 207 OSSL_DEPRECATEDIN_3_0 RSA *RSA_new_method(ENGINE *engine); 208 OSSL_DEPRECATEDIN_3_0 int RSA_bits(const RSA *rsa); 209 OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa); 210 OSSL_DEPRECATEDIN_3_0 int RSA_security_bits(const RSA *rsa); 211 212 OSSL_DEPRECATEDIN_3_0 int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d); 213 OSSL_DEPRECATEDIN_3_0 int RSA_set0_factors(RSA *r, BIGNUM *p, BIGNUM *q); 214 OSSL_DEPRECATEDIN_3_0 int RSA_set0_crt_params(RSA *r, 215 BIGNUM *dmp1, BIGNUM *dmq1, 216 BIGNUM *iqmp); 217 OSSL_DEPRECATEDIN_3_0 int RSA_set0_multi_prime_params(RSA *r, 218 BIGNUM *primes[], 219 BIGNUM *exps[], 220 BIGNUM *coeffs[], 221 int pnum); 222 OSSL_DEPRECATEDIN_3_0 void RSA_get0_key(const RSA *r, 223 const BIGNUM **n, const BIGNUM **e, 224 const BIGNUM **d); 225 OSSL_DEPRECATEDIN_3_0 void RSA_get0_factors(const RSA *r, 226 const BIGNUM **p, const BIGNUM **q); 227 OSSL_DEPRECATEDIN_3_0 int RSA_get_multi_prime_extra_count(const RSA *r); 228 OSSL_DEPRECATEDIN_3_0 int RSA_get0_multi_prime_factors(const RSA *r, 229 const BIGNUM *primes[]); 230 OSSL_DEPRECATEDIN_3_0 void RSA_get0_crt_params(const RSA *r, 231 const BIGNUM **dmp1, 232 const BIGNUM **dmq1, 233 const BIGNUM **iqmp); 234 OSSL_DEPRECATEDIN_3_0 235 int RSA_get0_multi_prime_crt_params(const RSA *r, const BIGNUM *exps[], 236 const BIGNUM *coeffs[]); 237 OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_n(const RSA *d); 238 OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_e(const RSA *d); 239 OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_d(const RSA *d); 240 OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_p(const RSA *d); 241 OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_q(const RSA *d); 242 OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_dmp1(const RSA *r); 243 OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_dmq1(const RSA *r); 244 OSSL_DEPRECATEDIN_3_0 const BIGNUM *RSA_get0_iqmp(const RSA *r); 245 OSSL_DEPRECATEDIN_3_0 const RSA_PSS_PARAMS *RSA_get0_pss_params(const RSA *r); 246 OSSL_DEPRECATEDIN_3_0 void RSA_clear_flags(RSA *r, int flags); 247 OSSL_DEPRECATEDIN_3_0 int RSA_test_flags(const RSA *r, int flags); 248 OSSL_DEPRECATEDIN_3_0 void RSA_set_flags(RSA *r, int flags); 249 OSSL_DEPRECATEDIN_3_0 int RSA_get_version(RSA *r); 250 OSSL_DEPRECATEDIN_3_0 ENGINE *RSA_get0_engine(const RSA *r); 251 # endif /* !OPENSSL_NO_DEPRECATED_3_0 */ 252 253 # define EVP_RSA_gen(bits) \ 254 EVP_PKEY_Q_keygen(NULL, NULL, "RSA", (size_t)(0 + (bits))) 255 256 /* Deprecated version */ 257 # ifndef OPENSSL_NO_DEPRECATED_0_9_8 258 OSSL_DEPRECATEDIN_0_9_8 RSA *RSA_generate_key(int bits, unsigned long e, void 259 (*callback) (int, int, void *), 260 void *cb_arg); 261 # endif 262 263 /* New version */ 264 # ifndef OPENSSL_NO_DEPRECATED_3_0 265 OSSL_DEPRECATEDIN_3_0 int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, 266 BN_GENCB *cb); 267 /* Multi-prime version */ 268 OSSL_DEPRECATEDIN_3_0 int RSA_generate_multi_prime_key(RSA *rsa, int bits, 269 int primes, BIGNUM *e, 270 BN_GENCB *cb); 271 272 OSSL_DEPRECATEDIN_3_0 273 int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2, 274 BIGNUM *q1, BIGNUM *q2, 275 const BIGNUM *Xp1, const BIGNUM *Xp2, 276 const BIGNUM *Xp, const BIGNUM *Xq1, 277 const BIGNUM *Xq2, const BIGNUM *Xq, 278 const BIGNUM *e, BN_GENCB *cb); 279 OSSL_DEPRECATEDIN_3_0 int RSA_X931_generate_key_ex(RSA *rsa, int bits, 280 const BIGNUM *e, 281 BN_GENCB *cb); 282 283 OSSL_DEPRECATEDIN_3_0 int RSA_check_key(const RSA *); 284 OSSL_DEPRECATEDIN_3_0 int RSA_check_key_ex(const RSA *, BN_GENCB *cb); 285 /* next 4 return -1 on error */ 286 OSSL_DEPRECATEDIN_3_0 287 int RSA_public_encrypt(int flen, const unsigned char *from, unsigned char *to, 288 RSA *rsa, int padding); 289 OSSL_DEPRECATEDIN_3_0 290 int RSA_private_encrypt(int flen, const unsigned char *from, unsigned char *to, 291 RSA *rsa, int padding); 292 OSSL_DEPRECATEDIN_3_0 293 int RSA_public_decrypt(int flen, const unsigned char *from, unsigned char *to, 294 RSA *rsa, int padding); 295 OSSL_DEPRECATEDIN_3_0 296 int RSA_private_decrypt(int flen, const unsigned char *from, unsigned char *to, 297 RSA *rsa, int padding); 298 OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r); 299 /* "up" the RSA object's reference count */ 300 OSSL_DEPRECATEDIN_3_0 int RSA_up_ref(RSA *r); 301 OSSL_DEPRECATEDIN_3_0 int RSA_flags(const RSA *r); 302 303 OSSL_DEPRECATEDIN_3_0 void RSA_set_default_method(const RSA_METHOD *meth); 304 OSSL_DEPRECATEDIN_3_0 const RSA_METHOD *RSA_get_default_method(void); 305 OSSL_DEPRECATEDIN_3_0 const RSA_METHOD *RSA_null_method(void); 306 OSSL_DEPRECATEDIN_3_0 const RSA_METHOD *RSA_get_method(const RSA *rsa); 307 OSSL_DEPRECATEDIN_3_0 int RSA_set_method(RSA *rsa, const RSA_METHOD *meth); 308 309 /* these are the actual RSA functions */ 310 OSSL_DEPRECATEDIN_3_0 const RSA_METHOD *RSA_PKCS1_OpenSSL(void); 311 312 DECLARE_ASN1_ENCODE_FUNCTIONS_name_attr(OSSL_DEPRECATEDIN_3_0, 313 RSA, RSAPublicKey) 314 DECLARE_ASN1_ENCODE_FUNCTIONS_name_attr(OSSL_DEPRECATEDIN_3_0, 315 RSA, RSAPrivateKey) 316 # endif /* !OPENSSL_NO_DEPRECATED_3_0 */ 317 318 int RSA_pkey_ctx_ctrl(EVP_PKEY_CTX *ctx, int optype, int cmd, int p1, void *p2); 319 320 struct rsa_pss_params_st { 321 X509_ALGOR *hashAlgorithm; 322 X509_ALGOR *maskGenAlgorithm; 323 ASN1_INTEGER *saltLength; 324 ASN1_INTEGER *trailerField; 325 /* Decoded hash algorithm from maskGenAlgorithm */ 326 X509_ALGOR *maskHash; 327 }; 328 329 DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS) 330 DECLARE_ASN1_DUP_FUNCTION(RSA_PSS_PARAMS) 331 332 typedef struct rsa_oaep_params_st { 333 X509_ALGOR *hashFunc; 334 X509_ALGOR *maskGenFunc; 335 X509_ALGOR *pSourceFunc; 336 /* Decoded hash algorithm from maskGenFunc */ 337 X509_ALGOR *maskHash; 338 } RSA_OAEP_PARAMS; 339 340 DECLARE_ASN1_FUNCTIONS(RSA_OAEP_PARAMS) 341 342 # ifndef OPENSSL_NO_DEPRECATED_3_0 343 # ifndef OPENSSL_NO_STDIO 344 OSSL_DEPRECATEDIN_3_0 int RSA_print_fp(FILE *fp, const RSA *r, int offset); 345 # endif 346 347 OSSL_DEPRECATEDIN_3_0 int RSA_print(BIO *bp, const RSA *r, int offset); 348 349 /* 350 * The following 2 functions sign and verify a X509_SIG ASN1 object inside 351 * PKCS#1 padded RSA encryption 352 */ 353 OSSL_DEPRECATEDIN_3_0 int RSA_sign(int type, const unsigned char *m, 354 unsigned int m_length, unsigned char *sigret, 355 unsigned int *siglen, RSA *rsa); 356 OSSL_DEPRECATEDIN_3_0 int RSA_verify(int type, const unsigned char *m, 357 unsigned int m_length, 358 const unsigned char *sigbuf, 359 unsigned int siglen, RSA *rsa); 360 361 /* 362 * The following 2 function sign and verify a ASN1_OCTET_STRING object inside 363 * PKCS#1 padded RSA encryption 364 */ 365 OSSL_DEPRECATEDIN_3_0 366 int RSA_sign_ASN1_OCTET_STRING(int type, 367 const unsigned char *m, unsigned int m_length, 368 unsigned char *sigret, unsigned int *siglen, 369 RSA *rsa); 370 OSSL_DEPRECATEDIN_3_0 371 int RSA_verify_ASN1_OCTET_STRING(int type, 372 const unsigned char *m, unsigned int m_length, 373 unsigned char *sigbuf, unsigned int siglen, 374 RSA *rsa); 375 376 OSSL_DEPRECATEDIN_3_0 int RSA_blinding_on(RSA *rsa, BN_CTX *ctx); 377 OSSL_DEPRECATEDIN_3_0 void RSA_blinding_off(RSA *rsa); 378 OSSL_DEPRECATEDIN_3_0 BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *ctx); 379 380 OSSL_DEPRECATEDIN_3_0 381 int RSA_padding_add_PKCS1_type_1(unsigned char *to, int tlen, 382 const unsigned char *f, int fl); 383 OSSL_DEPRECATEDIN_3_0 384 int RSA_padding_check_PKCS1_type_1(unsigned char *to, int tlen, 385 const unsigned char *f, int fl, 386 int rsa_len); 387 OSSL_DEPRECATEDIN_3_0 388 int RSA_padding_add_PKCS1_type_2(unsigned char *to, int tlen, 389 const unsigned char *f, int fl); 390 OSSL_DEPRECATEDIN_3_0 391 int RSA_padding_check_PKCS1_type_2(unsigned char *to, int tlen, 392 const unsigned char *f, int fl, 393 int rsa_len); 394 OSSL_DEPRECATEDIN_3_0 int PKCS1_MGF1(unsigned char *mask, long len, 395 const unsigned char *seed, long seedlen, 396 const EVP_MD *dgst); 397 OSSL_DEPRECATEDIN_3_0 398 int RSA_padding_add_PKCS1_OAEP(unsigned char *to, int tlen, 399 const unsigned char *f, int fl, 400 const unsigned char *p, int pl); 401 OSSL_DEPRECATEDIN_3_0 402 int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen, 403 const unsigned char *f, int fl, int rsa_len, 404 const unsigned char *p, int pl); 405 OSSL_DEPRECATEDIN_3_0 406 int RSA_padding_add_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, 407 const unsigned char *from, int flen, 408 const unsigned char *param, int plen, 409 const EVP_MD *md, const EVP_MD *mgf1md); 410 OSSL_DEPRECATEDIN_3_0 411 int RSA_padding_check_PKCS1_OAEP_mgf1(unsigned char *to, int tlen, 412 const unsigned char *from, int flen, 413 int num, 414 const unsigned char *param, int plen, 415 const EVP_MD *md, const EVP_MD *mgf1md); 416 OSSL_DEPRECATEDIN_3_0 int RSA_padding_add_none(unsigned char *to, int tlen, 417 const unsigned char *f, int fl); 418 OSSL_DEPRECATEDIN_3_0 int RSA_padding_check_none(unsigned char *to, int tlen, 419 const unsigned char *f, int fl, 420 int rsa_len); 421 OSSL_DEPRECATEDIN_3_0 int RSA_padding_add_X931(unsigned char *to, int tlen, 422 const unsigned char *f, int fl); 423 OSSL_DEPRECATEDIN_3_0 int RSA_padding_check_X931(unsigned char *to, int tlen, 424 const unsigned char *f, int fl, 425 int rsa_len); 426 OSSL_DEPRECATEDIN_3_0 int RSA_X931_hash_id(int nid); 427 428 OSSL_DEPRECATEDIN_3_0 429 int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash, 430 const EVP_MD *Hash, const unsigned char *EM, 431 int sLen); 432 OSSL_DEPRECATEDIN_3_0 433 int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM, 434 const unsigned char *mHash, const EVP_MD *Hash, 435 int sLen); 436 437 OSSL_DEPRECATEDIN_3_0 438 int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash, 439 const EVP_MD *Hash, const EVP_MD *mgf1Hash, 440 const unsigned char *EM, int sLen); 441 442 OSSL_DEPRECATEDIN_3_0 443 int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM, 444 const unsigned char *mHash, 445 const EVP_MD *Hash, const EVP_MD *mgf1Hash, 446 int sLen); 447 448 # define RSA_get_ex_new_index(l, p, newf, dupf, freef) \ 449 CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_RSA, l, p, newf, dupf, freef) 450 OSSL_DEPRECATEDIN_3_0 int RSA_set_ex_data(RSA *r, int idx, void *arg); 451 OSSL_DEPRECATEDIN_3_0 void *RSA_get_ex_data(const RSA *r, int idx); 452 453 DECLARE_ASN1_DUP_FUNCTION_name_attr(OSSL_DEPRECATEDIN_3_0, RSA, RSAPublicKey) 454 DECLARE_ASN1_DUP_FUNCTION_name_attr(OSSL_DEPRECATEDIN_3_0, RSA, RSAPrivateKey) 455 456 /* 457 * If this flag is set the RSA method is FIPS compliant and can be used in 458 * FIPS mode. This is set in the validated module method. If an application 459 * sets this flag in its own methods it is its responsibility to ensure the 460 * result is compliant. 461 */ 462 463 # define RSA_FLAG_FIPS_METHOD 0x0400 464 465 /* 466 * If this flag is set the operations normally disabled in FIPS mode are 467 * permitted it is then the applications responsibility to ensure that the 468 * usage is compliant. 469 */ 470 471 # define RSA_FLAG_NON_FIPS_ALLOW 0x0400 472 /* 473 * Application has decided PRNG is good enough to generate a key: don't 474 * check. 475 */ 476 # define RSA_FLAG_CHECKED 0x0800 477 478 OSSL_DEPRECATEDIN_3_0 RSA_METHOD *RSA_meth_new(const char *name, int flags); 479 OSSL_DEPRECATEDIN_3_0 void RSA_meth_free(RSA_METHOD *meth); 480 OSSL_DEPRECATEDIN_3_0 RSA_METHOD *RSA_meth_dup(const RSA_METHOD *meth); 481 OSSL_DEPRECATEDIN_3_0 const char *RSA_meth_get0_name(const RSA_METHOD *meth); 482 OSSL_DEPRECATEDIN_3_0 int RSA_meth_set1_name(RSA_METHOD *meth, 483 const char *name); 484 OSSL_DEPRECATEDIN_3_0 int RSA_meth_get_flags(const RSA_METHOD *meth); 485 OSSL_DEPRECATEDIN_3_0 int RSA_meth_set_flags(RSA_METHOD *meth, int flags); 486 OSSL_DEPRECATEDIN_3_0 void *RSA_meth_get0_app_data(const RSA_METHOD *meth); 487 OSSL_DEPRECATEDIN_3_0 int RSA_meth_set0_app_data(RSA_METHOD *meth, 488 void *app_data); 489 OSSL_DEPRECATEDIN_3_0 490 int (*RSA_meth_get_pub_enc(const RSA_METHOD *meth)) (int flen, 491 const unsigned char *from, 492 unsigned char *to, 493 RSA *rsa, int padding); 494 OSSL_DEPRECATEDIN_3_0 495 int RSA_meth_set_pub_enc(RSA_METHOD *rsa, 496 int (*pub_enc) (int flen, const unsigned char *from, 497 unsigned char *to, RSA *rsa, 498 int padding)); 499 OSSL_DEPRECATEDIN_3_0 500 int (*RSA_meth_get_pub_dec(const RSA_METHOD *meth)) (int flen, 501 const unsigned char *from, 502 unsigned char *to, 503 RSA *rsa, int padding); 504 OSSL_DEPRECATEDIN_3_0 505 int RSA_meth_set_pub_dec(RSA_METHOD *rsa, 506 int (*pub_dec) (int flen, const unsigned char *from, 507 unsigned char *to, RSA *rsa, 508 int padding)); 509 OSSL_DEPRECATEDIN_3_0 510 int (*RSA_meth_get_priv_enc(const RSA_METHOD *meth)) (int flen, 511 const unsigned char *from, 512 unsigned char *to, 513 RSA *rsa, int padding); 514 OSSL_DEPRECATEDIN_3_0 515 int RSA_meth_set_priv_enc(RSA_METHOD *rsa, 516 int (*priv_enc) (int flen, const unsigned char *from, 517 unsigned char *to, RSA *rsa, 518 int padding)); 519 OSSL_DEPRECATEDIN_3_0 520 int (*RSA_meth_get_priv_dec(const RSA_METHOD *meth)) (int flen, 521 const unsigned char *from, 522 unsigned char *to, 523 RSA *rsa, int padding); 524 OSSL_DEPRECATEDIN_3_0 525 int RSA_meth_set_priv_dec(RSA_METHOD *rsa, 526 int (*priv_dec) (int flen, const unsigned char *from, 527 unsigned char *to, RSA *rsa, 528 int padding)); 529 OSSL_DEPRECATEDIN_3_0 530 int (*RSA_meth_get_mod_exp(const RSA_METHOD *meth)) (BIGNUM *r0, 531 const BIGNUM *i, 532 RSA *rsa, BN_CTX *ctx); 533 OSSL_DEPRECATEDIN_3_0 534 int RSA_meth_set_mod_exp(RSA_METHOD *rsa, 535 int (*mod_exp) (BIGNUM *r0, const BIGNUM *i, RSA *rsa, 536 BN_CTX *ctx)); 537 OSSL_DEPRECATEDIN_3_0 538 int (*RSA_meth_get_bn_mod_exp(const RSA_METHOD *meth)) (BIGNUM *r, 539 const BIGNUM *a, 540 const BIGNUM *p, 541 const BIGNUM *m, 542 BN_CTX *ctx, 543 BN_MONT_CTX *m_ctx); 544 OSSL_DEPRECATEDIN_3_0 545 int RSA_meth_set_bn_mod_exp(RSA_METHOD *rsa, 546 int (*bn_mod_exp) (BIGNUM *r, 547 const BIGNUM *a, 548 const BIGNUM *p, 549 const BIGNUM *m, 550 BN_CTX *ctx, 551 BN_MONT_CTX *m_ctx)); 552 OSSL_DEPRECATEDIN_3_0 553 int (*RSA_meth_get_init(const RSA_METHOD *meth)) (RSA *rsa); 554 OSSL_DEPRECATEDIN_3_0 555 int RSA_meth_set_init(RSA_METHOD *rsa, int (*init) (RSA *rsa)); 556 OSSL_DEPRECATEDIN_3_0 557 int (*RSA_meth_get_finish(const RSA_METHOD *meth)) (RSA *rsa); 558 OSSL_DEPRECATEDIN_3_0 559 int RSA_meth_set_finish(RSA_METHOD *rsa, int (*finish) (RSA *rsa)); 560 OSSL_DEPRECATEDIN_3_0 561 int (*RSA_meth_get_sign(const RSA_METHOD *meth)) (int type, 562 const unsigned char *m, 563 unsigned int m_length, 564 unsigned char *sigret, 565 unsigned int *siglen, 566 const RSA *rsa); 567 OSSL_DEPRECATEDIN_3_0 568 int RSA_meth_set_sign(RSA_METHOD *rsa, 569 int (*sign) (int type, const unsigned char *m, 570 unsigned int m_length, 571 unsigned char *sigret, unsigned int *siglen, 572 const RSA *rsa)); 573 OSSL_DEPRECATEDIN_3_0 574 int (*RSA_meth_get_verify(const RSA_METHOD *meth)) (int dtype, 575 const unsigned char *m, 576 unsigned int m_length, 577 const unsigned char *sigbuf, 578 unsigned int siglen, 579 const RSA *rsa); 580 OSSL_DEPRECATEDIN_3_0 581 int RSA_meth_set_verify(RSA_METHOD *rsa, 582 int (*verify) (int dtype, const unsigned char *m, 583 unsigned int m_length, 584 const unsigned char *sigbuf, 585 unsigned int siglen, const RSA *rsa)); 586 OSSL_DEPRECATEDIN_3_0 587 int (*RSA_meth_get_keygen(const RSA_METHOD *meth)) (RSA *rsa, int bits, 588 BIGNUM *e, BN_GENCB *cb); 589 OSSL_DEPRECATEDIN_3_0 590 int RSA_meth_set_keygen(RSA_METHOD *rsa, 591 int (*keygen) (RSA *rsa, int bits, BIGNUM *e, 592 BN_GENCB *cb)); 593 OSSL_DEPRECATEDIN_3_0 594 int (*RSA_meth_get_multi_prime_keygen(const RSA_METHOD *meth)) (RSA *rsa, 595 int bits, 596 int primes, 597 BIGNUM *e, 598 BN_GENCB *cb); 599 OSSL_DEPRECATEDIN_3_0 600 int RSA_meth_set_multi_prime_keygen(RSA_METHOD *meth, 601 int (*keygen) (RSA *rsa, int bits, 602 int primes, BIGNUM *e, 603 BN_GENCB *cb)); 604 #endif /* !OPENSSL_NO_DEPRECATED_3_0 */ 605 606 # ifdef __cplusplus 607 } 608 # endif 609 #endif
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2025 MyWebUniversity.com ™