diff options
Diffstat (limited to 'src/lib/libssl/src/crypto/evp/evp.h')
| -rw-r--r-- | src/lib/libssl/src/crypto/evp/evp.h | 535 |
1 files changed, 400 insertions, 135 deletions
diff --git a/src/lib/libssl/src/crypto/evp/evp.h b/src/lib/libssl/src/crypto/evp/evp.h index 79c097181f..9f9795e2d9 100644 --- a/src/lib/libssl/src/crypto/evp/evp.h +++ b/src/lib/libssl/src/crypto/evp/evp.h | |||
| @@ -75,10 +75,6 @@ | |||
| 75 | #include <openssl/bio.h> | 75 | #include <openssl/bio.h> |
| 76 | #endif | 76 | #endif |
| 77 | 77 | ||
| 78 | #ifdef OPENSSL_FIPS | ||
| 79 | #include <openssl/fips.h> | ||
| 80 | #endif | ||
| 81 | |||
| 82 | /* | 78 | /* |
| 83 | #define EVP_RC2_KEY_SIZE 16 | 79 | #define EVP_RC2_KEY_SIZE 16 |
| 84 | #define EVP_RC4_KEY_SIZE 16 | 80 | #define EVP_RC4_KEY_SIZE 16 |
| @@ -119,6 +115,7 @@ | |||
| 119 | #define EVP_PKEY_DSA4 NID_dsaWithSHA1_2 | 115 | #define EVP_PKEY_DSA4 NID_dsaWithSHA1_2 |
| 120 | #define EVP_PKEY_DH NID_dhKeyAgreement | 116 | #define EVP_PKEY_DH NID_dhKeyAgreement |
| 121 | #define EVP_PKEY_EC NID_X9_62_id_ecPublicKey | 117 | #define EVP_PKEY_EC NID_X9_62_id_ecPublicKey |
| 118 | #define EVP_PKEY_HMAC NID_hmac | ||
| 122 | 119 | ||
| 123 | #ifdef __cplusplus | 120 | #ifdef __cplusplus |
| 124 | extern "C" { | 121 | extern "C" { |
| @@ -132,6 +129,8 @@ struct evp_pkey_st | |||
| 132 | int type; | 129 | int type; |
| 133 | int save_type; | 130 | int save_type; |
| 134 | int references; | 131 | int references; |
| 132 | const EVP_PKEY_ASN1_METHOD *ameth; | ||
| 133 | ENGINE *engine; | ||
| 135 | union { | 134 | union { |
| 136 | char *ptr; | 135 | char *ptr; |
| 137 | #ifndef OPENSSL_NO_RSA | 136 | #ifndef OPENSSL_NO_RSA |
| @@ -156,73 +155,6 @@ struct evp_pkey_st | |||
| 156 | #define EVP_PKEY_MO_ENCRYPT 0x0004 | 155 | #define EVP_PKEY_MO_ENCRYPT 0x0004 |
| 157 | #define EVP_PKEY_MO_DECRYPT 0x0008 | 156 | #define EVP_PKEY_MO_DECRYPT 0x0008 |
| 158 | 157 | ||
| 159 | #if 0 | ||
| 160 | /* This structure is required to tie the message digest and signing together. | ||
| 161 | * The lookup can be done by md/pkey_method, oid, oid/pkey_method, or | ||
| 162 | * oid, md and pkey. | ||
| 163 | * This is required because for various smart-card perform the digest and | ||
| 164 | * signing/verification on-board. To handle this case, the specific | ||
| 165 | * EVP_MD and EVP_PKEY_METHODs need to be closely associated. | ||
| 166 | * When a PKEY is created, it will have a EVP_PKEY_METHOD associated with it. | ||
| 167 | * This can either be software or a token to provide the required low level | ||
| 168 | * routines. | ||
| 169 | */ | ||
| 170 | typedef struct evp_pkey_md_st | ||
| 171 | { | ||
| 172 | int oid; | ||
| 173 | EVP_MD *md; | ||
| 174 | EVP_PKEY_METHOD *pkey; | ||
| 175 | } EVP_PKEY_MD; | ||
| 176 | |||
| 177 | #define EVP_rsa_md2() \ | ||
| 178 | EVP_PKEY_MD_add(NID_md2WithRSAEncryption,\ | ||
| 179 | EVP_rsa_pkcs1(),EVP_md2()) | ||
| 180 | #define EVP_rsa_md5() \ | ||
| 181 | EVP_PKEY_MD_add(NID_md5WithRSAEncryption,\ | ||
| 182 | EVP_rsa_pkcs1(),EVP_md5()) | ||
| 183 | #define EVP_rsa_sha0() \ | ||
| 184 | EVP_PKEY_MD_add(NID_shaWithRSAEncryption,\ | ||
| 185 | EVP_rsa_pkcs1(),EVP_sha()) | ||
| 186 | #define EVP_rsa_sha1() \ | ||
| 187 | EVP_PKEY_MD_add(NID_sha1WithRSAEncryption,\ | ||
| 188 | EVP_rsa_pkcs1(),EVP_sha1()) | ||
| 189 | #define EVP_rsa_ripemd160() \ | ||
| 190 | EVP_PKEY_MD_add(NID_ripemd160WithRSA,\ | ||
| 191 | EVP_rsa_pkcs1(),EVP_ripemd160()) | ||
| 192 | #define EVP_rsa_mdc2() \ | ||
| 193 | EVP_PKEY_MD_add(NID_mdc2WithRSA,\ | ||
| 194 | EVP_rsa_octet_string(),EVP_mdc2()) | ||
| 195 | #define EVP_dsa_sha() \ | ||
| 196 | EVP_PKEY_MD_add(NID_dsaWithSHA,\ | ||
| 197 | EVP_dsa(),EVP_sha()) | ||
| 198 | #define EVP_dsa_sha1() \ | ||
| 199 | EVP_PKEY_MD_add(NID_dsaWithSHA1,\ | ||
| 200 | EVP_dsa(),EVP_sha1()) | ||
| 201 | |||
| 202 | typedef struct evp_pkey_method_st | ||
| 203 | { | ||
| 204 | char *name; | ||
| 205 | int flags; | ||
| 206 | int type; /* RSA, DSA, an SSLeay specific constant */ | ||
| 207 | int oid; /* For the pub-key type */ | ||
| 208 | int encrypt_oid; /* pub/priv key encryption */ | ||
| 209 | |||
| 210 | int (*sign)(); | ||
| 211 | int (*verify)(); | ||
| 212 | struct { | ||
| 213 | int (*set)(); /* get and/or set the underlying type */ | ||
| 214 | int (*get)(); | ||
| 215 | int (*encrypt)(); | ||
| 216 | int (*decrypt)(); | ||
| 217 | int (*i2d)(); | ||
| 218 | int (*d2i)(); | ||
| 219 | int (*dup)(); | ||
| 220 | } pub,priv; | ||
| 221 | int (*set_asn1_parameters)(); | ||
| 222 | int (*get_asn1_parameters)(); | ||
| 223 | } EVP_PKEY_METHOD; | ||
| 224 | #endif | ||
| 225 | |||
| 226 | #ifndef EVP_MD | 158 | #ifndef EVP_MD |
| 227 | struct env_md_st | 159 | struct env_md_st |
| 228 | { | 160 | { |
| @@ -245,6 +177,8 @@ struct env_md_st | |||
| 245 | int required_pkey_type[5]; /*EVP_PKEY_xxx */ | 177 | int required_pkey_type[5]; /*EVP_PKEY_xxx */ |
| 246 | int block_size; | 178 | int block_size; |
| 247 | int ctx_size; /* how big does the ctx->md_data need to be */ | 179 | int ctx_size; /* how big does the ctx->md_data need to be */ |
| 180 | /* control function */ | ||
| 181 | int (*md_ctrl)(EVP_MD_CTX *ctx, int cmd, int p1, void *p2); | ||
| 248 | } /* EVP_MD */; | 182 | } /* EVP_MD */; |
| 249 | 183 | ||
| 250 | typedef int evp_sign_method(int type,const unsigned char *m, | 184 | typedef int evp_sign_method(int type,const unsigned char *m, |
| @@ -254,18 +188,42 @@ typedef int evp_verify_method(int type,const unsigned char *m, | |||
| 254 | unsigned int m_length,const unsigned char *sigbuf, | 188 | unsigned int m_length,const unsigned char *sigbuf, |
| 255 | unsigned int siglen, void *key); | 189 | unsigned int siglen, void *key); |
| 256 | 190 | ||
| 257 | typedef struct | ||
| 258 | { | ||
| 259 | EVP_MD_CTX *mctx; | ||
| 260 | void *key; | ||
| 261 | } EVP_MD_SVCTX; | ||
| 262 | |||
| 263 | #define EVP_MD_FLAG_ONESHOT 0x0001 /* digest can only handle a single | 191 | #define EVP_MD_FLAG_ONESHOT 0x0001 /* digest can only handle a single |
| 264 | * block */ | 192 | * block */ |
| 265 | 193 | ||
| 266 | #define EVP_MD_FLAG_FIPS 0x0400 /* Note if suitable for use in FIPS mode */ | 194 | #define EVP_MD_FLAG_PKEY_DIGEST 0x0002 /* digest is a "clone" digest used |
| 195 | * which is a copy of an existing | ||
| 196 | * one for a specific public key type. | ||
| 197 | * EVP_dss1() etc */ | ||
| 198 | |||
| 199 | /* Digest uses EVP_PKEY_METHOD for signing instead of MD specific signing */ | ||
| 200 | |||
| 201 | #define EVP_MD_FLAG_PKEY_METHOD_SIGNATURE 0x0004 | ||
| 202 | |||
| 203 | /* DigestAlgorithmIdentifier flags... */ | ||
| 204 | |||
| 205 | #define EVP_MD_FLAG_DIGALGID_MASK 0x0018 | ||
| 267 | 206 | ||
| 268 | #define EVP_MD_FLAG_SVCTX 0x0800 /* pass EVP_MD_SVCTX to sign/verify */ | 207 | /* NULL or absent parameter accepted. Use NULL */ |
| 208 | |||
| 209 | #define EVP_MD_FLAG_DIGALGID_NULL 0x0000 | ||
| 210 | |||
| 211 | /* NULL or absent parameter accepted. Use NULL for PKCS#1 otherwise absent */ | ||
| 212 | |||
| 213 | #define EVP_MD_FLAG_DIGALGID_ABSENT 0x0008 | ||
| 214 | |||
| 215 | /* Custom handling via ctrl */ | ||
| 216 | |||
| 217 | #define EVP_MD_FLAG_DIGALGID_CUSTOM 0x0018 | ||
| 218 | |||
| 219 | /* Digest ctrls */ | ||
| 220 | |||
| 221 | #define EVP_MD_CTRL_DIGALGID 0x1 | ||
| 222 | #define EVP_MD_CTRL_MICALG 0x2 | ||
| 223 | |||
| 224 | /* Minimum Algorithm specific ctrl value */ | ||
| 225 | |||
| 226 | #define EVP_MD_CTRL_ALG_CTRL 0x1000 | ||
| 269 | 227 | ||
| 270 | #define EVP_PKEY_NULL_method NULL,NULL,{0,0,0,0} | 228 | #define EVP_PKEY_NULL_method NULL,NULL,{0,0,0,0} |
| 271 | 229 | ||
| @@ -307,6 +265,10 @@ struct env_md_ctx_st | |||
| 307 | ENGINE *engine; /* functional reference if 'digest' is ENGINE-provided */ | 265 | ENGINE *engine; /* functional reference if 'digest' is ENGINE-provided */ |
| 308 | unsigned long flags; | 266 | unsigned long flags; |
| 309 | void *md_data; | 267 | void *md_data; |
| 268 | /* Public key context for sign/verify */ | ||
| 269 | EVP_PKEY_CTX *pctx; | ||
| 270 | /* Update function: usually copied from EVP_MD */ | ||
| 271 | int (*update)(EVP_MD_CTX *ctx,const void *data,size_t count); | ||
| 310 | } /* EVP_MD_CTX */; | 272 | } /* EVP_MD_CTX */; |
| 311 | 273 | ||
| 312 | /* values for EVP_MD_CTX flags */ | 274 | /* values for EVP_MD_CTX flags */ |
| @@ -317,17 +279,23 @@ struct env_md_ctx_st | |||
| 317 | * cleaned */ | 279 | * cleaned */ |
| 318 | #define EVP_MD_CTX_FLAG_REUSE 0x0004 /* Don't free up ctx->md_data | 280 | #define EVP_MD_CTX_FLAG_REUSE 0x0004 /* Don't free up ctx->md_data |
| 319 | * in EVP_MD_CTX_cleanup */ | 281 | * in EVP_MD_CTX_cleanup */ |
| 282 | /* FIPS and pad options are ignored in 1.0.0, definitions are here | ||
| 283 | * so we don't accidentally reuse the values for other purposes. | ||
| 284 | */ | ||
| 285 | |||
| 320 | #define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW 0x0008 /* Allow use of non FIPS digest | 286 | #define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW 0x0008 /* Allow use of non FIPS digest |
| 321 | * in FIPS mode */ | 287 | * in FIPS mode */ |
| 322 | 288 | ||
| 289 | /* The following PAD options are also currently ignored in 1.0.0, digest | ||
| 290 | * parameters are handled through EVP_DigestSign*() and EVP_DigestVerify*() | ||
| 291 | * instead. | ||
| 292 | */ | ||
| 323 | #define EVP_MD_CTX_FLAG_PAD_MASK 0xF0 /* RSA mode to use */ | 293 | #define EVP_MD_CTX_FLAG_PAD_MASK 0xF0 /* RSA mode to use */ |
| 324 | #define EVP_MD_CTX_FLAG_PAD_PKCS1 0x00 /* PKCS#1 v1.5 mode */ | 294 | #define EVP_MD_CTX_FLAG_PAD_PKCS1 0x00 /* PKCS#1 v1.5 mode */ |
| 325 | #define EVP_MD_CTX_FLAG_PAD_X931 0x10 /* X9.31 mode */ | 295 | #define EVP_MD_CTX_FLAG_PAD_X931 0x10 /* X9.31 mode */ |
| 326 | #define EVP_MD_CTX_FLAG_PAD_PSS 0x20 /* PSS mode */ | 296 | #define EVP_MD_CTX_FLAG_PAD_PSS 0x20 /* PSS mode */ |
| 327 | #define M_EVP_MD_CTX_FLAG_PSS_SALT(ctx) \ | 297 | |
| 328 | ((ctx->flags>>16) &0xFFFF) /* seed length */ | 298 | #define EVP_MD_CTX_FLAG_NO_INIT 0x0100 /* Don't initialize md_data */ |
| 329 | #define EVP_MD_CTX_FLAG_PSS_MDLEN 0xFFFF /* salt len same as digest */ | ||
| 330 | #define EVP_MD_CTX_FLAG_PSS_MREC 0xFFFE /* salt max or auto recovered */ | ||
| 331 | 299 | ||
| 332 | struct evp_cipher_st | 300 | struct evp_cipher_st |
| 333 | { | 301 | { |
| @@ -339,7 +307,7 @@ struct evp_cipher_st | |||
| 339 | int (*init)(EVP_CIPHER_CTX *ctx, const unsigned char *key, | 307 | int (*init)(EVP_CIPHER_CTX *ctx, const unsigned char *key, |
| 340 | const unsigned char *iv, int enc); /* init key */ | 308 | const unsigned char *iv, int enc); /* init key */ |
| 341 | int (*do_cipher)(EVP_CIPHER_CTX *ctx, unsigned char *out, | 309 | int (*do_cipher)(EVP_CIPHER_CTX *ctx, unsigned char *out, |
| 342 | const unsigned char *in, unsigned int inl);/* encrypt/decrypt data */ | 310 | const unsigned char *in, size_t inl);/* encrypt/decrypt data */ |
| 343 | int (*cleanup)(EVP_CIPHER_CTX *); /* cleanup ctx */ | 311 | int (*cleanup)(EVP_CIPHER_CTX *); /* cleanup ctx */ |
| 344 | int ctx_size; /* how big ctx->cipher_data needs to be */ | 312 | int ctx_size; /* how big ctx->cipher_data needs to be */ |
| 345 | int (*set_asn1_parameters)(EVP_CIPHER_CTX *, ASN1_TYPE *); /* Populate a ASN1_TYPE with parameters */ | 313 | int (*set_asn1_parameters)(EVP_CIPHER_CTX *, ASN1_TYPE *); /* Populate a ASN1_TYPE with parameters */ |
| @@ -357,7 +325,7 @@ struct evp_cipher_st | |||
| 357 | #define EVP_CIPH_CBC_MODE 0x2 | 325 | #define EVP_CIPH_CBC_MODE 0x2 |
| 358 | #define EVP_CIPH_CFB_MODE 0x3 | 326 | #define EVP_CIPH_CFB_MODE 0x3 |
| 359 | #define EVP_CIPH_OFB_MODE 0x4 | 327 | #define EVP_CIPH_OFB_MODE 0x4 |
| 360 | #define EVP_CIPH_MODE 0x7 | 328 | #define EVP_CIPH_MODE 0xF0007 |
| 361 | /* Set if variable length cipher */ | 329 | /* Set if variable length cipher */ |
| 362 | #define EVP_CIPH_VARIABLE_LENGTH 0x8 | 330 | #define EVP_CIPH_VARIABLE_LENGTH 0x8 |
| 363 | /* Set if the iv handling should be done by the cipher itself */ | 331 | /* Set if the iv handling should be done by the cipher itself */ |
| @@ -372,10 +340,8 @@ struct evp_cipher_st | |||
| 372 | #define EVP_CIPH_NO_PADDING 0x100 | 340 | #define EVP_CIPH_NO_PADDING 0x100 |
| 373 | /* cipher handles random key generation */ | 341 | /* cipher handles random key generation */ |
| 374 | #define EVP_CIPH_RAND_KEY 0x200 | 342 | #define EVP_CIPH_RAND_KEY 0x200 |
| 375 | /* Note if suitable for use in FIPS mode */ | 343 | /* cipher has its own additional copying logic */ |
| 376 | #define EVP_CIPH_FLAG_FIPS 0x400 | 344 | #define EVP_CIPH_CUSTOM_COPY 0x400 |
| 377 | /* Allow non FIPS cipher in FIPS mode */ | ||
| 378 | #define EVP_CIPH_FLAG_NON_FIPS_ALLOW 0x800 | ||
| 379 | /* Allow use default ASN1 get/set iv */ | 345 | /* Allow use default ASN1 get/set iv */ |
| 380 | #define EVP_CIPH_FLAG_DEFAULT_ASN1 0x1000 | 346 | #define EVP_CIPH_FLAG_DEFAULT_ASN1 0x1000 |
| 381 | /* Buffer length in bits not bytes: CFB1 mode only */ | 347 | /* Buffer length in bits not bytes: CFB1 mode only */ |
| @@ -390,6 +356,8 @@ struct evp_cipher_st | |||
| 390 | #define EVP_CTRL_GET_RC5_ROUNDS 0x4 | 356 | #define EVP_CTRL_GET_RC5_ROUNDS 0x4 |
| 391 | #define EVP_CTRL_SET_RC5_ROUNDS 0x5 | 357 | #define EVP_CTRL_SET_RC5_ROUNDS 0x5 |
| 392 | #define EVP_CTRL_RAND_KEY 0x6 | 358 | #define EVP_CTRL_RAND_KEY 0x6 |
| 359 | #define EVP_CTRL_PBE_PRF_NID 0x7 | ||
| 360 | #define EVP_CTRL_COPY 0x8 | ||
| 393 | 361 | ||
| 394 | typedef struct evp_cipher_info_st | 362 | typedef struct evp_cipher_info_st |
| 395 | { | 363 | { |
| @@ -462,26 +430,15 @@ typedef int (EVP_PBE_KEYGEN)(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, | |||
| 462 | #define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a)) | 430 | #define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a)) |
| 463 | #define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a)) | 431 | #define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a)) |
| 464 | 432 | ||
| 465 | /* Macros to reduce FIPS dependencies: do NOT use in applications */ | ||
| 466 | #define M_EVP_MD_size(e) ((e)->md_size) | ||
| 467 | #define M_EVP_MD_block_size(e) ((e)->block_size) | ||
| 468 | #define M_EVP_MD_CTX_set_flags(ctx,flgs) ((ctx)->flags|=(flgs)) | ||
| 469 | #define M_EVP_MD_CTX_clear_flags(ctx,flgs) ((ctx)->flags&=~(flgs)) | ||
| 470 | #define M_EVP_MD_CTX_test_flags(ctx,flgs) ((ctx)->flags&(flgs)) | ||
| 471 | #define M_EVP_MD_type(e) ((e)->type) | ||
| 472 | #define M_EVP_MD_CTX_type(e) M_EVP_MD_type(M_EVP_MD_CTX_md(e)) | ||
| 473 | #define M_EVP_MD_CTX_md(e) ((e)->digest) | ||
| 474 | |||
| 475 | #define M_EVP_CIPHER_CTX_set_flags(ctx,flgs) ((ctx)->flags|=(flgs)) | ||
| 476 | |||
| 477 | int EVP_MD_type(const EVP_MD *md); | 433 | int EVP_MD_type(const EVP_MD *md); |
| 478 | #define EVP_MD_nid(e) EVP_MD_type(e) | 434 | #define EVP_MD_nid(e) EVP_MD_type(e) |
| 479 | #define EVP_MD_name(e) OBJ_nid2sn(EVP_MD_nid(e)) | 435 | #define EVP_MD_name(e) OBJ_nid2sn(EVP_MD_nid(e)) |
| 480 | int EVP_MD_pkey_type(const EVP_MD *md); | 436 | int EVP_MD_pkey_type(const EVP_MD *md); |
| 481 | int EVP_MD_size(const EVP_MD *md); | 437 | int EVP_MD_size(const EVP_MD *md); |
| 482 | int EVP_MD_block_size(const EVP_MD *md); | 438 | int EVP_MD_block_size(const EVP_MD *md); |
| 439 | unsigned long EVP_MD_flags(const EVP_MD *md); | ||
| 483 | 440 | ||
| 484 | const EVP_MD * EVP_MD_CTX_md(const EVP_MD_CTX *ctx); | 441 | const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx); |
| 485 | #define EVP_MD_CTX_size(e) EVP_MD_size(EVP_MD_CTX_md(e)) | 442 | #define EVP_MD_CTX_size(e) EVP_MD_size(EVP_MD_CTX_md(e)) |
| 486 | #define EVP_MD_CTX_block_size(e) EVP_MD_block_size(EVP_MD_CTX_md(e)) | 443 | #define EVP_MD_CTX_block_size(e) EVP_MD_block_size(EVP_MD_CTX_md(e)) |
| 487 | #define EVP_MD_CTX_type(e) EVP_MD_type(EVP_MD_CTX_md(e)) | 444 | #define EVP_MD_CTX_type(e) EVP_MD_type(EVP_MD_CTX_md(e)) |
| @@ -499,6 +456,7 @@ int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx); | |||
| 499 | int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx); | 456 | int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx); |
| 500 | int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx); | 457 | int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx); |
| 501 | int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx); | 458 | int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx); |
| 459 | int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in); | ||
| 502 | void * EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx); | 460 | void * EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx); |
| 503 | void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data); | 461 | void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data); |
| 504 | #define EVP_CIPHER_CTX_type(c) EVP_CIPHER_type(EVP_CIPHER_CTX_cipher(c)) | 462 | #define EVP_CIPHER_CTX_type(c) EVP_CIPHER_type(EVP_CIPHER_CTX_cipher(c)) |
| @@ -516,6 +474,8 @@ unsigned long EVP_CIPHER_CTX_flags(const EVP_CIPHER_CTX *ctx); | |||
| 516 | #define EVP_VerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) | 474 | #define EVP_VerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) |
| 517 | #define EVP_OpenUpdate(a,b,c,d,e) EVP_DecryptUpdate(a,b,c,d,e) | 475 | #define EVP_OpenUpdate(a,b,c,d,e) EVP_DecryptUpdate(a,b,c,d,e) |
| 518 | #define EVP_SealUpdate(a,b,c,d,e) EVP_EncryptUpdate(a,b,c,d,e) | 476 | #define EVP_SealUpdate(a,b,c,d,e) EVP_EncryptUpdate(a,b,c,d,e) |
| 477 | #define EVP_DigestSignUpdate(a,b,c) EVP_DigestUpdate(a,b,c) | ||
| 478 | #define EVP_DigestVerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) | ||
| 519 | 479 | ||
| 520 | #ifdef CONST_STRICT | 480 | #ifdef CONST_STRICT |
| 521 | void BIO_set_md(BIO *,const EVP_MD *md); | 481 | void BIO_set_md(BIO *,const EVP_MD *md); |
| @@ -562,6 +522,7 @@ int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type); | |||
| 562 | int EVP_DigestFinal(EVP_MD_CTX *ctx,unsigned char *md,unsigned int *s); | 522 | int EVP_DigestFinal(EVP_MD_CTX *ctx,unsigned char *md,unsigned int *s); |
| 563 | 523 | ||
| 564 | int EVP_read_pw_string(char *buf,int length,const char *prompt,int verify); | 524 | int EVP_read_pw_string(char *buf,int length,const char *prompt,int verify); |
| 525 | int EVP_read_pw_string_min(char *buf,int minlen,int maxlen,const char *prompt,int verify); | ||
| 565 | void EVP_set_pw_prompt(const char *prompt); | 526 | void EVP_set_pw_prompt(const char *prompt); |
| 566 | char * EVP_get_pw_prompt(void); | 527 | char * EVP_get_pw_prompt(void); |
| 567 | 528 | ||
| @@ -608,6 +569,16 @@ int EVP_SignFinal(EVP_MD_CTX *ctx,unsigned char *md,unsigned int *s, | |||
| 608 | int EVP_VerifyFinal(EVP_MD_CTX *ctx,const unsigned char *sigbuf, | 569 | int EVP_VerifyFinal(EVP_MD_CTX *ctx,const unsigned char *sigbuf, |
| 609 | unsigned int siglen,EVP_PKEY *pkey); | 570 | unsigned int siglen,EVP_PKEY *pkey); |
| 610 | 571 | ||
| 572 | int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, | ||
| 573 | const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); | ||
| 574 | int EVP_DigestSignFinal(EVP_MD_CTX *ctx, | ||
| 575 | unsigned char *sigret, size_t *siglen); | ||
| 576 | |||
| 577 | int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, | ||
| 578 | const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); | ||
| 579 | int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, | ||
| 580 | unsigned char *sig, size_t siglen); | ||
| 581 | |||
| 611 | int EVP_OpenInit(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *type, | 582 | int EVP_OpenInit(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *type, |
| 612 | const unsigned char *ek, int ekl, const unsigned char *iv, | 583 | const unsigned char *ek, int ekl, const unsigned char *iv, |
| 613 | EVP_PKEY *priv); | 584 | EVP_PKEY *priv); |
| @@ -680,6 +651,9 @@ const EVP_MD *EVP_mdc2(void); | |||
| 680 | #ifndef OPENSSL_NO_RIPEMD | 651 | #ifndef OPENSSL_NO_RIPEMD |
| 681 | const EVP_MD *EVP_ripemd160(void); | 652 | const EVP_MD *EVP_ripemd160(void); |
| 682 | #endif | 653 | #endif |
| 654 | #ifndef OPENSSL_NO_WHIRLPOOL | ||
| 655 | const EVP_MD *EVP_whirlpool(void); | ||
| 656 | #endif | ||
| 683 | const EVP_CIPHER *EVP_enc_null(void); /* does nothing :-) */ | 657 | const EVP_CIPHER *EVP_enc_null(void); /* does nothing :-) */ |
| 684 | #ifndef OPENSSL_NO_DES | 658 | #ifndef OPENSSL_NO_DES |
| 685 | const EVP_CIPHER *EVP_des_ecb(void); | 659 | const EVP_CIPHER *EVP_des_ecb(void); |
| @@ -847,16 +821,31 @@ const EVP_CIPHER *EVP_get_cipherbyname(const char *name); | |||
| 847 | const EVP_MD *EVP_get_digestbyname(const char *name); | 821 | const EVP_MD *EVP_get_digestbyname(const char *name); |
| 848 | void EVP_cleanup(void); | 822 | void EVP_cleanup(void); |
| 849 | 823 | ||
| 850 | int EVP_PKEY_decrypt(unsigned char *dec_key, | 824 | void EVP_CIPHER_do_all(void (*fn)(const EVP_CIPHER *ciph, |
| 825 | const char *from, const char *to, void *x), void *arg); | ||
| 826 | void EVP_CIPHER_do_all_sorted(void (*fn)(const EVP_CIPHER *ciph, | ||
| 827 | const char *from, const char *to, void *x), void *arg); | ||
| 828 | |||
| 829 | void EVP_MD_do_all(void (*fn)(const EVP_MD *ciph, | ||
| 830 | const char *from, const char *to, void *x), void *arg); | ||
| 831 | void EVP_MD_do_all_sorted(void (*fn)(const EVP_MD *ciph, | ||
| 832 | const char *from, const char *to, void *x), void *arg); | ||
| 833 | |||
| 834 | int EVP_PKEY_decrypt_old(unsigned char *dec_key, | ||
| 851 | const unsigned char *enc_key,int enc_key_len, | 835 | const unsigned char *enc_key,int enc_key_len, |
| 852 | EVP_PKEY *private_key); | 836 | EVP_PKEY *private_key); |
| 853 | int EVP_PKEY_encrypt(unsigned char *enc_key, | 837 | int EVP_PKEY_encrypt_old(unsigned char *enc_key, |
| 854 | const unsigned char *key,int key_len, | 838 | const unsigned char *key,int key_len, |
| 855 | EVP_PKEY *pub_key); | 839 | EVP_PKEY *pub_key); |
| 856 | int EVP_PKEY_type(int type); | 840 | int EVP_PKEY_type(int type); |
| 841 | int EVP_PKEY_id(const EVP_PKEY *pkey); | ||
| 842 | int EVP_PKEY_base_id(const EVP_PKEY *pkey); | ||
| 857 | int EVP_PKEY_bits(EVP_PKEY *pkey); | 843 | int EVP_PKEY_bits(EVP_PKEY *pkey); |
| 858 | int EVP_PKEY_size(EVP_PKEY *pkey); | 844 | int EVP_PKEY_size(EVP_PKEY *pkey); |
| 859 | int EVP_PKEY_assign(EVP_PKEY *pkey,int type,char *key); | 845 | int EVP_PKEY_set_type(EVP_PKEY *pkey,int type); |
| 846 | int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len); | ||
| 847 | int EVP_PKEY_assign(EVP_PKEY *pkey,int type,void *key); | ||
| 848 | void * EVP_PKEY_get0(EVP_PKEY *pkey); | ||
| 860 | 849 | ||
| 861 | #ifndef OPENSSL_NO_RSA | 850 | #ifndef OPENSSL_NO_RSA |
| 862 | struct rsa_st; | 851 | struct rsa_st; |
| @@ -899,6 +888,15 @@ int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b); | |||
| 899 | 888 | ||
| 900 | int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b); | 889 | int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b); |
| 901 | 890 | ||
| 891 | int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey, | ||
| 892 | int indent, ASN1_PCTX *pctx); | ||
| 893 | int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey, | ||
| 894 | int indent, ASN1_PCTX *pctx); | ||
| 895 | int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, | ||
| 896 | int indent, ASN1_PCTX *pctx); | ||
| 897 | |||
| 898 | int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid); | ||
| 899 | |||
| 902 | int EVP_CIPHER_type(const EVP_CIPHER *ctx); | 900 | int EVP_CIPHER_type(const EVP_CIPHER *ctx); |
| 903 | 901 | ||
| 904 | /* calls methods */ | 902 | /* calls methods */ |
| @@ -916,6 +914,10 @@ int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, | |||
| 916 | int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen, | 914 | int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen, |
| 917 | const unsigned char *salt, int saltlen, int iter, | 915 | const unsigned char *salt, int saltlen, int iter, |
| 918 | int keylen, unsigned char *out); | 916 | int keylen, unsigned char *out); |
| 917 | int PKCS5_PBKDF2_HMAC(const char *pass, int passlen, | ||
| 918 | const unsigned char *salt, int saltlen, int iter, | ||
| 919 | const EVP_MD *digest, | ||
| 920 | int keylen, unsigned char *out); | ||
| 919 | int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, | 921 | int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, |
| 920 | ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md, | 922 | ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md, |
| 921 | int en_de); | 923 | int en_de); |
| @@ -924,27 +926,260 @@ void PKCS5_PBE_add(void); | |||
| 924 | 926 | ||
| 925 | int EVP_PBE_CipherInit (ASN1_OBJECT *pbe_obj, const char *pass, int passlen, | 927 | int EVP_PBE_CipherInit (ASN1_OBJECT *pbe_obj, const char *pass, int passlen, |
| 926 | ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de); | 928 | ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de); |
| 929 | |||
| 930 | /* PBE type */ | ||
| 931 | |||
| 932 | /* Can appear as the outermost AlgorithmIdentifier */ | ||
| 933 | #define EVP_PBE_TYPE_OUTER 0x0 | ||
| 934 | /* Is an PRF type OID */ | ||
| 935 | #define EVP_PBE_TYPE_PRF 0x1 | ||
| 936 | |||
| 937 | int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid, int md_nid, | ||
| 938 | EVP_PBE_KEYGEN *keygen); | ||
| 927 | int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md, | 939 | int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md, |
| 928 | EVP_PBE_KEYGEN *keygen); | 940 | EVP_PBE_KEYGEN *keygen); |
| 941 | int EVP_PBE_find(int type, int pbe_nid, | ||
| 942 | int *pcnid, int *pmnid, EVP_PBE_KEYGEN **pkeygen); | ||
| 929 | void EVP_PBE_cleanup(void); | 943 | void EVP_PBE_cleanup(void); |
| 930 | 944 | ||
| 931 | #ifdef OPENSSL_FIPS | 945 | #define ASN1_PKEY_ALIAS 0x1 |
| 932 | #ifndef OPENSSL_NO_ENGINE | 946 | #define ASN1_PKEY_DYNAMIC 0x2 |
| 933 | void int_EVP_MD_set_engine_callbacks( | 947 | #define ASN1_PKEY_SIGPARAM_NULL 0x4 |
| 934 | int (*eng_md_init)(ENGINE *impl), | 948 | |
| 935 | int (*eng_md_fin)(ENGINE *impl), | 949 | #define ASN1_PKEY_CTRL_PKCS7_SIGN 0x1 |
| 936 | int (*eng_md_evp) | 950 | #define ASN1_PKEY_CTRL_PKCS7_ENCRYPT 0x2 |
| 937 | (EVP_MD_CTX *ctx, const EVP_MD **ptype, ENGINE *impl)); | 951 | #define ASN1_PKEY_CTRL_DEFAULT_MD_NID 0x3 |
| 938 | void int_EVP_MD_init_engine_callbacks(void); | 952 | #define ASN1_PKEY_CTRL_CMS_SIGN 0x5 |
| 939 | void int_EVP_CIPHER_set_engine_callbacks( | 953 | #define ASN1_PKEY_CTRL_CMS_ENVELOPE 0x7 |
| 940 | int (*eng_ciph_fin)(ENGINE *impl), | 954 | |
| 941 | int (*eng_ciph_evp) | 955 | int EVP_PKEY_asn1_get_count(void); |
| 942 | (EVP_CIPHER_CTX *ctx, const EVP_CIPHER **pciph, ENGINE *impl)); | 956 | const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx); |
| 943 | void int_EVP_CIPHER_init_engine_callbacks(void); | 957 | const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find(ENGINE **pe, int type); |
| 944 | #endif | 958 | const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(ENGINE **pe, |
| 945 | #endif | 959 | const char *str, int len); |
| 960 | int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth); | ||
| 961 | int EVP_PKEY_asn1_add_alias(int to, int from); | ||
| 962 | int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *pkey_base_id, int *ppkey_flags, | ||
| 963 | const char **pinfo, const char **ppem_str, | ||
| 964 | const EVP_PKEY_ASN1_METHOD *ameth); | ||
| 965 | |||
| 966 | const EVP_PKEY_ASN1_METHOD* EVP_PKEY_get0_asn1(EVP_PKEY *pkey); | ||
| 967 | EVP_PKEY_ASN1_METHOD* EVP_PKEY_asn1_new(int id, int flags, | ||
| 968 | const char *pem_str, const char *info); | ||
| 969 | void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, | ||
| 970 | const EVP_PKEY_ASN1_METHOD *src); | ||
| 971 | void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth); | ||
| 972 | void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth, | ||
| 973 | int (*pub_decode)(EVP_PKEY *pk, X509_PUBKEY *pub), | ||
| 974 | int (*pub_encode)(X509_PUBKEY *pub, const EVP_PKEY *pk), | ||
| 975 | int (*pub_cmp)(const EVP_PKEY *a, const EVP_PKEY *b), | ||
| 976 | int (*pub_print)(BIO *out, const EVP_PKEY *pkey, int indent, | ||
| 977 | ASN1_PCTX *pctx), | ||
| 978 | int (*pkey_size)(const EVP_PKEY *pk), | ||
| 979 | int (*pkey_bits)(const EVP_PKEY *pk)); | ||
| 980 | void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth, | ||
| 981 | int (*priv_decode)(EVP_PKEY *pk, PKCS8_PRIV_KEY_INFO *p8inf), | ||
| 982 | int (*priv_encode)(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pk), | ||
| 983 | int (*priv_print)(BIO *out, const EVP_PKEY *pkey, int indent, | ||
| 984 | ASN1_PCTX *pctx)); | ||
| 985 | void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth, | ||
| 986 | int (*param_decode)(EVP_PKEY *pkey, | ||
| 987 | const unsigned char **pder, int derlen), | ||
| 988 | int (*param_encode)(const EVP_PKEY *pkey, unsigned char **pder), | ||
| 989 | int (*param_missing)(const EVP_PKEY *pk), | ||
| 990 | int (*param_copy)(EVP_PKEY *to, const EVP_PKEY *from), | ||
| 991 | int (*param_cmp)(const EVP_PKEY *a, const EVP_PKEY *b), | ||
| 992 | int (*param_print)(BIO *out, const EVP_PKEY *pkey, int indent, | ||
| 993 | ASN1_PCTX *pctx)); | ||
| 994 | |||
| 995 | void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth, | ||
| 996 | void (*pkey_free)(EVP_PKEY *pkey)); | ||
| 997 | void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth, | ||
| 998 | int (*pkey_ctrl)(EVP_PKEY *pkey, int op, | ||
| 999 | long arg1, void *arg2)); | ||
| 1000 | |||
| 1001 | |||
| 1002 | #define EVP_PKEY_OP_UNDEFINED 0 | ||
| 1003 | #define EVP_PKEY_OP_PARAMGEN (1<<1) | ||
| 1004 | #define EVP_PKEY_OP_KEYGEN (1<<2) | ||
| 1005 | #define EVP_PKEY_OP_SIGN (1<<3) | ||
| 1006 | #define EVP_PKEY_OP_VERIFY (1<<4) | ||
| 1007 | #define EVP_PKEY_OP_VERIFYRECOVER (1<<5) | ||
| 1008 | #define EVP_PKEY_OP_SIGNCTX (1<<6) | ||
| 1009 | #define EVP_PKEY_OP_VERIFYCTX (1<<7) | ||
| 1010 | #define EVP_PKEY_OP_ENCRYPT (1<<8) | ||
| 1011 | #define EVP_PKEY_OP_DECRYPT (1<<9) | ||
| 1012 | #define EVP_PKEY_OP_DERIVE (1<<10) | ||
| 1013 | |||
| 1014 | #define EVP_PKEY_OP_TYPE_SIG \ | ||
| 1015 | (EVP_PKEY_OP_SIGN | EVP_PKEY_OP_VERIFY | EVP_PKEY_OP_VERIFYRECOVER \ | ||
| 1016 | | EVP_PKEY_OP_SIGNCTX | EVP_PKEY_OP_VERIFYCTX) | ||
| 1017 | |||
| 1018 | #define EVP_PKEY_OP_TYPE_CRYPT \ | ||
| 1019 | (EVP_PKEY_OP_ENCRYPT | EVP_PKEY_OP_DECRYPT) | ||
| 1020 | |||
| 1021 | #define EVP_PKEY_OP_TYPE_NOGEN \ | ||
| 1022 | (EVP_PKEY_OP_SIG | EVP_PKEY_OP_CRYPT | EVP_PKEY_OP_DERIVE) | ||
| 1023 | |||
| 1024 | #define EVP_PKEY_OP_TYPE_GEN \ | ||
| 1025 | (EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN) | ||
| 1026 | |||
| 1027 | #define EVP_PKEY_CTX_set_signature_md(ctx, md) \ | ||
| 1028 | EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ | ||
| 1029 | EVP_PKEY_CTRL_MD, 0, (void *)md) | ||
| 1030 | |||
| 1031 | #define EVP_PKEY_CTRL_MD 1 | ||
| 1032 | #define EVP_PKEY_CTRL_PEER_KEY 2 | ||
| 1033 | |||
| 1034 | #define EVP_PKEY_CTRL_PKCS7_ENCRYPT 3 | ||
| 1035 | #define EVP_PKEY_CTRL_PKCS7_DECRYPT 4 | ||
| 1036 | |||
| 1037 | #define EVP_PKEY_CTRL_PKCS7_SIGN 5 | ||
| 1038 | |||
| 1039 | #define EVP_PKEY_CTRL_SET_MAC_KEY 6 | ||
| 1040 | |||
| 1041 | #define EVP_PKEY_CTRL_DIGESTINIT 7 | ||
| 1042 | |||
| 1043 | /* Used by GOST key encryption in TLS */ | ||
| 1044 | #define EVP_PKEY_CTRL_SET_IV 8 | ||
| 1045 | |||
| 1046 | #define EVP_PKEY_CTRL_CMS_ENCRYPT 9 | ||
| 1047 | #define EVP_PKEY_CTRL_CMS_DECRYPT 10 | ||
| 1048 | #define EVP_PKEY_CTRL_CMS_SIGN 11 | ||
| 1049 | |||
| 1050 | #define EVP_PKEY_ALG_CTRL 0x1000 | ||
| 1051 | |||
| 1052 | |||
| 1053 | #define EVP_PKEY_FLAG_AUTOARGLEN 2 | ||
| 1054 | |||
| 1055 | const EVP_PKEY_METHOD *EVP_PKEY_meth_find(int type); | ||
| 1056 | EVP_PKEY_METHOD* EVP_PKEY_meth_new(int id, int flags); | ||
| 1057 | void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth); | ||
| 1058 | int EVP_PKEY_meth_add0(const EVP_PKEY_METHOD *pmeth); | ||
| 1059 | |||
| 1060 | EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e); | ||
| 1061 | EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e); | ||
| 1062 | EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx); | ||
| 1063 | void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx); | ||
| 1064 | |||
| 1065 | int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype, | ||
| 1066 | int cmd, int p1, void *p2); | ||
| 1067 | int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, | ||
| 1068 | const char *value); | ||
| 1069 | |||
| 1070 | int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx); | ||
| 1071 | void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx, int *dat, int datlen); | ||
| 1072 | |||
| 1073 | EVP_PKEY *EVP_PKEY_new_mac_key(int type, ENGINE *e, | ||
| 1074 | unsigned char *key, int keylen); | ||
| 1075 | |||
| 1076 | void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data); | ||
| 1077 | void *EVP_PKEY_CTX_get_data(EVP_PKEY_CTX *ctx); | ||
| 1078 | EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx); | ||
| 1079 | |||
| 1080 | EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx); | ||
| 1081 | |||
| 1082 | void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data); | ||
| 1083 | void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx); | ||
| 1084 | |||
| 1085 | int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx); | ||
| 1086 | int EVP_PKEY_sign(EVP_PKEY_CTX *ctx, | ||
| 1087 | unsigned char *sig, size_t *siglen, | ||
| 1088 | const unsigned char *tbs, size_t tbslen); | ||
| 1089 | int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx); | ||
| 1090 | int EVP_PKEY_verify(EVP_PKEY_CTX *ctx, | ||
| 1091 | const unsigned char *sig, size_t siglen, | ||
| 1092 | const unsigned char *tbs, size_t tbslen); | ||
| 1093 | int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx); | ||
| 1094 | int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx, | ||
| 1095 | unsigned char *rout, size_t *routlen, | ||
| 1096 | const unsigned char *sig, size_t siglen); | ||
| 1097 | int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx); | ||
| 1098 | int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx, | ||
| 1099 | unsigned char *out, size_t *outlen, | ||
| 1100 | const unsigned char *in, size_t inlen); | ||
| 1101 | int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx); | ||
| 1102 | int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx, | ||
| 1103 | unsigned char *out, size_t *outlen, | ||
| 1104 | const unsigned char *in, size_t inlen); | ||
| 1105 | |||
| 1106 | int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx); | ||
| 1107 | int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer); | ||
| 1108 | int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen); | ||
| 1109 | |||
| 1110 | typedef int EVP_PKEY_gen_cb(EVP_PKEY_CTX *ctx); | ||
| 1111 | |||
| 1112 | int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx); | ||
| 1113 | int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); | ||
| 1114 | int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx); | ||
| 1115 | int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); | ||
| 1116 | |||
| 1117 | void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb); | ||
| 1118 | EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx); | ||
| 1119 | |||
| 1120 | int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx); | ||
| 1121 | |||
| 1122 | void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth, | ||
| 1123 | int (*init)(EVP_PKEY_CTX *ctx)); | ||
| 1124 | |||
| 1125 | void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth, | ||
| 1126 | int (*copy)(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src)); | ||
| 1127 | |||
| 1128 | void EVP_PKEY_meth_set_cleanup(EVP_PKEY_METHOD *pmeth, | ||
| 1129 | void (*cleanup)(EVP_PKEY_CTX *ctx)); | ||
| 1130 | |||
| 1131 | void EVP_PKEY_meth_set_paramgen(EVP_PKEY_METHOD *pmeth, | ||
| 1132 | int (*paramgen_init)(EVP_PKEY_CTX *ctx), | ||
| 1133 | int (*paramgen)(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)); | ||
| 1134 | |||
| 1135 | void EVP_PKEY_meth_set_keygen(EVP_PKEY_METHOD *pmeth, | ||
| 1136 | int (*keygen_init)(EVP_PKEY_CTX *ctx), | ||
| 1137 | int (*keygen)(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)); | ||
| 946 | 1138 | ||
| 947 | void EVP_add_alg_module(void); | 1139 | void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth, |
| 1140 | int (*sign_init)(EVP_PKEY_CTX *ctx), | ||
| 1141 | int (*sign)(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, | ||
| 1142 | const unsigned char *tbs, size_t tbslen)); | ||
| 1143 | |||
| 1144 | void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth, | ||
| 1145 | int (*verify_init)(EVP_PKEY_CTX *ctx), | ||
| 1146 | int (*verify)(EVP_PKEY_CTX *ctx, const unsigned char *sig, size_t siglen, | ||
| 1147 | const unsigned char *tbs, size_t tbslen)); | ||
| 1148 | |||
| 1149 | void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth, | ||
| 1150 | int (*verify_recover_init)(EVP_PKEY_CTX *ctx), | ||
| 1151 | int (*verify_recover)(EVP_PKEY_CTX *ctx, | ||
| 1152 | unsigned char *sig, size_t *siglen, | ||
| 1153 | const unsigned char *tbs, size_t tbslen)); | ||
| 1154 | |||
| 1155 | void EVP_PKEY_meth_set_signctx(EVP_PKEY_METHOD *pmeth, | ||
| 1156 | int (*signctx_init)(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx), | ||
| 1157 | int (*signctx)(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, | ||
| 1158 | EVP_MD_CTX *mctx)); | ||
| 1159 | |||
| 1160 | void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth, | ||
| 1161 | int (*verifyctx_init)(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx), | ||
| 1162 | int (*verifyctx)(EVP_PKEY_CTX *ctx, const unsigned char *sig,int siglen, | ||
| 1163 | EVP_MD_CTX *mctx)); | ||
| 1164 | |||
| 1165 | void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth, | ||
| 1166 | int (*encrypt_init)(EVP_PKEY_CTX *ctx), | ||
| 1167 | int (*encryptfn)(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen, | ||
| 1168 | const unsigned char *in, size_t inlen)); | ||
| 1169 | |||
| 1170 | void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth, | ||
| 1171 | int (*decrypt_init)(EVP_PKEY_CTX *ctx), | ||
| 1172 | int (*decrypt)(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen, | ||
| 1173 | const unsigned char *in, size_t inlen)); | ||
| 1174 | |||
| 1175 | void EVP_PKEY_meth_set_derive(EVP_PKEY_METHOD *pmeth, | ||
| 1176 | int (*derive_init)(EVP_PKEY_CTX *ctx), | ||
| 1177 | int (*derive)(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen)); | ||
| 1178 | |||
| 1179 | void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth, | ||
| 1180 | int (*ctrl)(EVP_PKEY_CTX *ctx, int type, int p1, void *p2), | ||
| 1181 | int (*ctrl_str)(EVP_PKEY_CTX *ctx, | ||
| 1182 | const char *type, const char *value)); | ||
| 948 | 1183 | ||
| 949 | /* BEGIN ERROR CODES */ | 1184 | /* BEGIN ERROR CODES */ |
| 950 | /* The following lines are auto generated by the script mkerr.pl. Any changes | 1185 | /* The following lines are auto generated by the script mkerr.pl. Any changes |
| @@ -956,46 +1191,66 @@ void ERR_load_EVP_strings(void); | |||
| 956 | 1191 | ||
| 957 | /* Function codes. */ | 1192 | /* Function codes. */ |
| 958 | #define EVP_F_AES_INIT_KEY 133 | 1193 | #define EVP_F_AES_INIT_KEY 133 |
| 959 | #define EVP_F_ALG_MODULE_INIT 138 | ||
| 960 | #define EVP_F_CAMELLIA_INIT_KEY 159 | 1194 | #define EVP_F_CAMELLIA_INIT_KEY 159 |
| 961 | #define EVP_F_D2I_PKEY 100 | 1195 | #define EVP_F_D2I_PKEY 100 |
| 962 | #define EVP_F_DO_EVP_ENC_ENGINE 140 | 1196 | #define EVP_F_DO_SIGVER_INIT 161 |
| 963 | #define EVP_F_DO_EVP_ENC_ENGINE_FULL 141 | ||
| 964 | #define EVP_F_DO_EVP_MD_ENGINE 139 | ||
| 965 | #define EVP_F_DO_EVP_MD_ENGINE_FULL 142 | ||
| 966 | #define EVP_F_DSAPKEY2PKCS8 134 | 1197 | #define EVP_F_DSAPKEY2PKCS8 134 |
| 967 | #define EVP_F_DSA_PKEY2PKCS8 135 | 1198 | #define EVP_F_DSA_PKEY2PKCS8 135 |
| 968 | #define EVP_F_ECDSA_PKEY2PKCS8 129 | 1199 | #define EVP_F_ECDSA_PKEY2PKCS8 129 |
| 969 | #define EVP_F_ECKEY_PKEY2PKCS8 132 | 1200 | #define EVP_F_ECKEY_PKEY2PKCS8 132 |
| 970 | #define EVP_F_EVP_CIPHERINIT 137 | ||
| 971 | #define EVP_F_EVP_CIPHERINIT_EX 123 | 1201 | #define EVP_F_EVP_CIPHERINIT_EX 123 |
| 1202 | #define EVP_F_EVP_CIPHER_CTX_COPY 163 | ||
| 972 | #define EVP_F_EVP_CIPHER_CTX_CTRL 124 | 1203 | #define EVP_F_EVP_CIPHER_CTX_CTRL 124 |
| 973 | #define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122 | 1204 | #define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122 |
| 974 | #define EVP_F_EVP_DECRYPTFINAL_EX 101 | 1205 | #define EVP_F_EVP_DECRYPTFINAL_EX 101 |
| 975 | #define EVP_F_EVP_DIGESTINIT 136 | ||
| 976 | #define EVP_F_EVP_DIGESTINIT_EX 128 | 1206 | #define EVP_F_EVP_DIGESTINIT_EX 128 |
| 977 | #define EVP_F_EVP_ENCRYPTFINAL_EX 127 | 1207 | #define EVP_F_EVP_ENCRYPTFINAL_EX 127 |
| 978 | #define EVP_F_EVP_MD_CTX_COPY_EX 110 | 1208 | #define EVP_F_EVP_MD_CTX_COPY_EX 110 |
| 1209 | #define EVP_F_EVP_MD_SIZE 162 | ||
| 979 | #define EVP_F_EVP_OPENINIT 102 | 1210 | #define EVP_F_EVP_OPENINIT 102 |
| 980 | #define EVP_F_EVP_PBE_ALG_ADD 115 | 1211 | #define EVP_F_EVP_PBE_ALG_ADD 115 |
| 1212 | #define EVP_F_EVP_PBE_ALG_ADD_TYPE 160 | ||
| 981 | #define EVP_F_EVP_PBE_CIPHERINIT 116 | 1213 | #define EVP_F_EVP_PBE_CIPHERINIT 116 |
| 982 | #define EVP_F_EVP_PKCS82PKEY 111 | 1214 | #define EVP_F_EVP_PKCS82PKEY 111 |
| 1215 | #define EVP_F_EVP_PKCS82PKEY_BROKEN 136 | ||
| 983 | #define EVP_F_EVP_PKEY2PKCS8_BROKEN 113 | 1216 | #define EVP_F_EVP_PKEY2PKCS8_BROKEN 113 |
| 984 | #define EVP_F_EVP_PKEY_COPY_PARAMETERS 103 | 1217 | #define EVP_F_EVP_PKEY_COPY_PARAMETERS 103 |
| 1218 | #define EVP_F_EVP_PKEY_CTX_CTRL 137 | ||
| 1219 | #define EVP_F_EVP_PKEY_CTX_CTRL_STR 150 | ||
| 1220 | #define EVP_F_EVP_PKEY_CTX_DUP 156 | ||
| 985 | #define EVP_F_EVP_PKEY_DECRYPT 104 | 1221 | #define EVP_F_EVP_PKEY_DECRYPT 104 |
| 1222 | #define EVP_F_EVP_PKEY_DECRYPT_INIT 138 | ||
| 1223 | #define EVP_F_EVP_PKEY_DECRYPT_OLD 151 | ||
| 1224 | #define EVP_F_EVP_PKEY_DERIVE 153 | ||
| 1225 | #define EVP_F_EVP_PKEY_DERIVE_INIT 154 | ||
| 1226 | #define EVP_F_EVP_PKEY_DERIVE_SET_PEER 155 | ||
| 986 | #define EVP_F_EVP_PKEY_ENCRYPT 105 | 1227 | #define EVP_F_EVP_PKEY_ENCRYPT 105 |
| 1228 | #define EVP_F_EVP_PKEY_ENCRYPT_INIT 139 | ||
| 1229 | #define EVP_F_EVP_PKEY_ENCRYPT_OLD 152 | ||
| 987 | #define EVP_F_EVP_PKEY_GET1_DH 119 | 1230 | #define EVP_F_EVP_PKEY_GET1_DH 119 |
| 988 | #define EVP_F_EVP_PKEY_GET1_DSA 120 | 1231 | #define EVP_F_EVP_PKEY_GET1_DSA 120 |
| 989 | #define EVP_F_EVP_PKEY_GET1_ECDSA 130 | 1232 | #define EVP_F_EVP_PKEY_GET1_ECDSA 130 |
| 990 | #define EVP_F_EVP_PKEY_GET1_EC_KEY 131 | 1233 | #define EVP_F_EVP_PKEY_GET1_EC_KEY 131 |
| 991 | #define EVP_F_EVP_PKEY_GET1_RSA 121 | 1234 | #define EVP_F_EVP_PKEY_GET1_RSA 121 |
| 1235 | #define EVP_F_EVP_PKEY_KEYGEN 146 | ||
| 1236 | #define EVP_F_EVP_PKEY_KEYGEN_INIT 147 | ||
| 992 | #define EVP_F_EVP_PKEY_NEW 106 | 1237 | #define EVP_F_EVP_PKEY_NEW 106 |
| 1238 | #define EVP_F_EVP_PKEY_PARAMGEN 148 | ||
| 1239 | #define EVP_F_EVP_PKEY_PARAMGEN_INIT 149 | ||
| 1240 | #define EVP_F_EVP_PKEY_SIGN 140 | ||
| 1241 | #define EVP_F_EVP_PKEY_SIGN_INIT 141 | ||
| 1242 | #define EVP_F_EVP_PKEY_VERIFY 142 | ||
| 1243 | #define EVP_F_EVP_PKEY_VERIFY_INIT 143 | ||
| 1244 | #define EVP_F_EVP_PKEY_VERIFY_RECOVER 144 | ||
| 1245 | #define EVP_F_EVP_PKEY_VERIFY_RECOVER_INIT 145 | ||
| 993 | #define EVP_F_EVP_RIJNDAEL 126 | 1246 | #define EVP_F_EVP_RIJNDAEL 126 |
| 994 | #define EVP_F_EVP_SIGNFINAL 107 | 1247 | #define EVP_F_EVP_SIGNFINAL 107 |
| 995 | #define EVP_F_EVP_VERIFYFINAL 108 | 1248 | #define EVP_F_EVP_VERIFYFINAL 108 |
| 1249 | #define EVP_F_INT_CTX_NEW 157 | ||
| 996 | #define EVP_F_PKCS5_PBE_KEYIVGEN 117 | 1250 | #define EVP_F_PKCS5_PBE_KEYIVGEN 117 |
| 997 | #define EVP_F_PKCS5_V2_PBE_KEYIVGEN 118 | 1251 | #define EVP_F_PKCS5_V2_PBE_KEYIVGEN 118 |
| 998 | #define EVP_F_PKCS8_SET_BROKEN 112 | 1252 | #define EVP_F_PKCS8_SET_BROKEN 112 |
| 1253 | #define EVP_F_PKEY_SET_TYPE 158 | ||
| 999 | #define EVP_F_RC2_MAGIC_TO_METH 109 | 1254 | #define EVP_F_RC2_MAGIC_TO_METH 109 |
| 1000 | #define EVP_F_RC5_CTRL 125 | 1255 | #define EVP_F_RC5_CTRL 125 |
| 1001 | 1256 | ||
| @@ -1007,41 +1262,52 @@ void ERR_load_EVP_strings(void); | |||
| 1007 | #define EVP_R_BAD_KEY_LENGTH 137 | 1262 | #define EVP_R_BAD_KEY_LENGTH 137 |
| 1008 | #define EVP_R_BN_DECODE_ERROR 112 | 1263 | #define EVP_R_BN_DECODE_ERROR 112 |
| 1009 | #define EVP_R_BN_PUBKEY_ERROR 113 | 1264 | #define EVP_R_BN_PUBKEY_ERROR 113 |
| 1265 | #define EVP_R_BUFFER_TOO_SMALL 155 | ||
| 1010 | #define EVP_R_CAMELLIA_KEY_SETUP_FAILED 157 | 1266 | #define EVP_R_CAMELLIA_KEY_SETUP_FAILED 157 |
| 1011 | #define EVP_R_CIPHER_PARAMETER_ERROR 122 | 1267 | #define EVP_R_CIPHER_PARAMETER_ERROR 122 |
| 1268 | #define EVP_R_COMMAND_NOT_SUPPORTED 147 | ||
| 1012 | #define EVP_R_CTRL_NOT_IMPLEMENTED 132 | 1269 | #define EVP_R_CTRL_NOT_IMPLEMENTED 132 |
| 1013 | #define EVP_R_CTRL_OPERATION_NOT_IMPLEMENTED 133 | 1270 | #define EVP_R_CTRL_OPERATION_NOT_IMPLEMENTED 133 |
| 1014 | #define EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH 138 | 1271 | #define EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH 138 |
| 1015 | #define EVP_R_DECODE_ERROR 114 | 1272 | #define EVP_R_DECODE_ERROR 114 |
| 1016 | #define EVP_R_DIFFERENT_KEY_TYPES 101 | 1273 | #define EVP_R_DIFFERENT_KEY_TYPES 101 |
| 1017 | #define EVP_R_DISABLED_FOR_FIPS 144 | 1274 | #define EVP_R_DIFFERENT_PARAMETERS 153 |
| 1018 | #define EVP_R_ENCODE_ERROR 115 | 1275 | #define EVP_R_ENCODE_ERROR 115 |
| 1019 | #define EVP_R_ERROR_LOADING_SECTION 145 | ||
| 1020 | #define EVP_R_ERROR_SETTING_FIPS_MODE 146 | ||
| 1021 | #define EVP_R_EVP_PBE_CIPHERINIT_ERROR 119 | 1276 | #define EVP_R_EVP_PBE_CIPHERINIT_ERROR 119 |
| 1022 | #define EVP_R_EXPECTING_AN_RSA_KEY 127 | 1277 | #define EVP_R_EXPECTING_AN_RSA_KEY 127 |
| 1023 | #define EVP_R_EXPECTING_A_DH_KEY 128 | 1278 | #define EVP_R_EXPECTING_A_DH_KEY 128 |
| 1024 | #define EVP_R_EXPECTING_A_DSA_KEY 129 | 1279 | #define EVP_R_EXPECTING_A_DSA_KEY 129 |
| 1025 | #define EVP_R_EXPECTING_A_ECDSA_KEY 141 | 1280 | #define EVP_R_EXPECTING_A_ECDSA_KEY 141 |
| 1026 | #define EVP_R_EXPECTING_A_EC_KEY 142 | 1281 | #define EVP_R_EXPECTING_A_EC_KEY 142 |
| 1027 | #define EVP_R_FIPS_MODE_NOT_SUPPORTED 147 | ||
| 1028 | #define EVP_R_INITIALIZATION_ERROR 134 | 1282 | #define EVP_R_INITIALIZATION_ERROR 134 |
| 1029 | #define EVP_R_INPUT_NOT_INITIALIZED 111 | 1283 | #define EVP_R_INPUT_NOT_INITIALIZED 111 |
| 1030 | #define EVP_R_INVALID_FIPS_MODE 148 | 1284 | #define EVP_R_INVALID_DIGEST 152 |
| 1031 | #define EVP_R_INVALID_KEY_LENGTH 130 | 1285 | #define EVP_R_INVALID_KEY_LENGTH 130 |
| 1286 | #define EVP_R_INVALID_OPERATION 148 | ||
| 1032 | #define EVP_R_IV_TOO_LARGE 102 | 1287 | #define EVP_R_IV_TOO_LARGE 102 |
| 1033 | #define EVP_R_KEYGEN_FAILURE 120 | 1288 | #define EVP_R_KEYGEN_FAILURE 120 |
| 1289 | #define EVP_R_MESSAGE_DIGEST_IS_NULL 159 | ||
| 1290 | #define EVP_R_METHOD_NOT_SUPPORTED 144 | ||
| 1034 | #define EVP_R_MISSING_PARAMETERS 103 | 1291 | #define EVP_R_MISSING_PARAMETERS 103 |
| 1035 | #define EVP_R_NO_CIPHER_SET 131 | 1292 | #define EVP_R_NO_CIPHER_SET 131 |
| 1293 | #define EVP_R_NO_DEFAULT_DIGEST 158 | ||
| 1036 | #define EVP_R_NO_DIGEST_SET 139 | 1294 | #define EVP_R_NO_DIGEST_SET 139 |
| 1037 | #define EVP_R_NO_DSA_PARAMETERS 116 | 1295 | #define EVP_R_NO_DSA_PARAMETERS 116 |
| 1296 | #define EVP_R_NO_KEY_SET 154 | ||
| 1297 | #define EVP_R_NO_OPERATION_SET 149 | ||
| 1038 | #define EVP_R_NO_SIGN_FUNCTION_CONFIGURED 104 | 1298 | #define EVP_R_NO_SIGN_FUNCTION_CONFIGURED 104 |
| 1039 | #define EVP_R_NO_VERIFY_FUNCTION_CONFIGURED 105 | 1299 | #define EVP_R_NO_VERIFY_FUNCTION_CONFIGURED 105 |
| 1300 | #define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 150 | ||
| 1301 | #define EVP_R_OPERATON_NOT_INITIALIZED 151 | ||
| 1040 | #define EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE 117 | 1302 | #define EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE 117 |
| 1303 | #define EVP_R_PRIVATE_KEY_DECODE_ERROR 145 | ||
| 1304 | #define EVP_R_PRIVATE_KEY_ENCODE_ERROR 146 | ||
| 1041 | #define EVP_R_PUBLIC_KEY_NOT_RSA 106 | 1305 | #define EVP_R_PUBLIC_KEY_NOT_RSA 106 |
| 1042 | #define EVP_R_UNKNOWN_OPTION 149 | 1306 | #define EVP_R_UNKNOWN_CIPHER 160 |
| 1307 | #define EVP_R_UNKNOWN_DIGEST 161 | ||
| 1043 | #define EVP_R_UNKNOWN_PBE_ALGORITHM 121 | 1308 | #define EVP_R_UNKNOWN_PBE_ALGORITHM 121 |
| 1044 | #define EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS 135 | 1309 | #define EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS 135 |
| 1310 | #define EVP_R_UNSUPPORTED_ALGORITHM 156 | ||
| 1045 | #define EVP_R_UNSUPPORTED_CIPHER 107 | 1311 | #define EVP_R_UNSUPPORTED_CIPHER 107 |
| 1046 | #define EVP_R_UNSUPPORTED_KEYLENGTH 123 | 1312 | #define EVP_R_UNSUPPORTED_KEYLENGTH 123 |
| 1047 | #define EVP_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION 124 | 1313 | #define EVP_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION 124 |
| @@ -1051,7 +1317,6 @@ void ERR_load_EVP_strings(void); | |||
| 1051 | #define EVP_R_UNSUPPORTED_SALT_TYPE 126 | 1317 | #define EVP_R_UNSUPPORTED_SALT_TYPE 126 |
| 1052 | #define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109 | 1318 | #define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109 |
| 1053 | #define EVP_R_WRONG_PUBLIC_KEY_TYPE 110 | 1319 | #define EVP_R_WRONG_PUBLIC_KEY_TYPE 110 |
| 1054 | #define EVP_R_SEED_KEY_SETUP_FAILED 162 | ||
| 1055 | 1320 | ||
| 1056 | #ifdef __cplusplus | 1321 | #ifdef __cplusplus |
| 1057 | } | 1322 | } |
