57 #ifndef OPENSSL_HEADER_EVP_H 58 #define OPENSSL_HEADER_EVP_H 74 #if defined(__cplusplus) 166 #define EVP_PKEY_NONE NID_undef 167 #define EVP_PKEY_RSA NID_rsaEncryption 168 #define EVP_PKEY_DSA NID_dsa 169 #define EVP_PKEY_EC NID_X9_62_id_ecPublicKey 251 size_t *out_sig_len);
310 unsigned int *out_sig_len,
EVP_PKEY *pkey);
374 const uint8_t *salt,
size_t salt_len,
376 size_t key_len,
uint8_t *out_key);
381 size_t password_len,
const uint8_t *salt,
383 size_t key_len,
uint8_t *out_key);
463 size_t *out_len,
const uint8_t *in,
483 size_t *out_len,
const uint8_t *in,
511 size_t *out_len,
const uint8_t *sig,
538 size_t *out_key_len);
648 #define EVP_PKEY_DH NID_dhKeyAgreement 652 #define EVP_PKEY_RSA2 NID_rsa 671 const char *unused,
void *arg),
751 #if defined(__cplusplus) 766 #define EVP_R_BUFFER_TOO_SMALL 100 767 #define EVP_R_COMMAND_NOT_SUPPORTED 101 768 #define EVP_R_DECODE_ERROR 102 769 #define EVP_R_DIFFERENT_KEY_TYPES 103 770 #define EVP_R_DIFFERENT_PARAMETERS 104 771 #define EVP_R_ENCODE_ERROR 105 772 #define EVP_R_EXPECTING_AN_EC_KEY_KEY 106 773 #define EVP_R_EXPECTING_AN_RSA_KEY 107 774 #define EVP_R_EXPECTING_A_DSA_KEY 108 775 #define EVP_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE 109 776 #define EVP_R_INVALID_DIGEST_LENGTH 110 777 #define EVP_R_INVALID_DIGEST_TYPE 111 778 #define EVP_R_INVALID_KEYBITS 112 779 #define EVP_R_INVALID_MGF1_MD 113 780 #define EVP_R_INVALID_OPERATION 114 781 #define EVP_R_INVALID_PADDING_MODE 115 782 #define EVP_R_INVALID_PSS_SALTLEN 116 783 #define EVP_R_KEYS_NOT_SET 117 784 #define EVP_R_MISSING_PARAMETERS 118 785 #define EVP_R_NO_DEFAULT_DIGEST 119 786 #define EVP_R_NO_KEY_SET 120 787 #define EVP_R_NO_MDC2_SUPPORT 121 788 #define EVP_R_NO_NID_FOR_CURVE 122 789 #define EVP_R_NO_OPERATION_SET 123 790 #define EVP_R_NO_PARAMETERS_SET 124 791 #define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 125 792 #define EVP_R_OPERATON_NOT_INITIALIZED 126 793 #define EVP_R_UNKNOWN_PUBLIC_KEY_TYPE 127 794 #define EVP_R_UNSUPPORTED_ALGORITHM 128 795 #define EVP_R_UNSUPPORTED_PUBLIC_KEY_TYPE 129
OPENSSL_EXPORT int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const uint8_t *sig, size_t sig_len)
Definition: digestsign.c:145
const EVP_PKEY_ASN1_METHOD * ameth
Definition: evp.h:747
OPENSSL_EXPORT int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx)
Definition: evp_ctx.c:330
OPENSSL_EXPORT int EVP_PKEY_set_type(EVP_PKEY *pkey, int type)
Definition: evp.c:315
OPENSSL_EXPORT EVP_PKEY * EVP_PKEY_new(void)
Definition: evp.c:74
OPENSSL_EXPORT int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx, uint8_t *out, size_t *out_len, const uint8_t *in, size_t in_len)
Definition: evp_ctx.c:273
OPENSSL_EXPORT ASN1_BIT_STRING * bits
Definition: x509v3.h:532
OPENSSL_EXPORT int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx)
Definition: evp_ctx.c:242
OPENSSL_EXPORT int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey)
Definition: digestsign.c:106
OPENSSL_EXPORT int EVP_SignFinal(const EVP_MD_CTX *ctx, uint8_t *sig, unsigned int *out_sig_len, EVP_PKEY *pkey)
Definition: sign.c:77
OPENSSL_EXPORT int EVP_PKEY_id(const EVP_PKEY *pkey)
Definition: evp.c:193
OPENSSL_EXPORT int EVP_marshal_private_key(CBB *cbb, const EVP_PKEY *key)
Definition: evp_asn1.c:186
OPENSSL_EXPORT int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b)
Definition: evp.c:339
OPENSSL_EXPORT int EVP_DigestSignFinal(EVP_MD_CTX *ctx, uint8_t *out_sig, size_t *out_sig_len)
Definition: digestsign.c:124
OPENSSL_EXPORT int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey, EC_KEY *key)
Definition: evp.c:277
union evp_pkey_st::@726 pkey
OPENSSL_EXPORT int EVP_marshal_public_key(CBB *cbb, const EVP_PKEY *key)
Definition: evp_asn1.c:137
OPENSSL_EXPORT int i2d_PublicKey(EVP_PKEY *key, uint8_t **outp)
Definition: evp_asn1.c:325
Definition: internal.h:67
uint8_t uint8_t CBS * cbs
Definition: internal.h:759
OPENSSL_EXPORT DSA * EVP_PKEY_get0_DSA(EVP_PKEY *pkey)
Definition: evp.c:261
OPENSSL_EXPORT int EVP_PKEY_size(const EVP_PKEY *pkey)
Definition: evp.c:179
OPENSSL_EXPORT int EVP_PKEY_bits(EVP_PKEY *pkey)
Definition: evp.c:186
AVCFAssetRef CFArrayRef AVCFAssetLoadValuesCompletionCallback callback
Definition: AVFoundationCFSoftLinking.h:99
uint32_t CRYPTO_refcount_t
Definition: thread.h:101
OPENSSL_EXPORT int EVP_PKEY_CTX_get_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD **out_md)
Definition: evp.c:354
OPENSSL_EXPORT int EVP_SignUpdate(EVP_MD_CTX *ctx, const void *data, size_t len)
Definition: sign.c:73
OPENSSL_EXPORT void EVP_CIPHER_do_all_sorted(void(*callback)(const EVP_CIPHER *cipher, const char *name, const char *unused, void *arg), void *arg)
Definition: evp_do_all.c:18
OPENSSL_EXPORT int EVP_VerifyFinal(EVP_MD_CTX *ctx, const uint8_t *sig, size_t sig_len, EVP_PKEY *pkey)
Definition: sign.c:123
OPENSSL_EXPORT int EVP_PKEY_supports_digest(const EVP_PKEY *pkey, const EVP_MD *md)
Definition: evp.c:123
OPENSSL_EXPORT void OPENSSL_add_all_algorithms_conf(void)
Definition: evp.c:361
OPENSSL_EXPORT int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key)
Definition: evp.c:307
OPENSSL_EXPORT EVP_PKEY_CTX * EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx)
Definition: evp_ctx.c:150
OPENSSL_EXPORT int EVP_PKEY_set1_DSA(EVP_PKEY *pkey, DSA *key)
Definition: evp.c:249
DSA * dsa
Definition: evp.h:740
EGLenum EGLObjectKHR EGLLabelKHR label
Definition: eglext.h:121
RSA * rsa
Definition: evp.h:739
int type
Definition: evp.h:735
OPENSSL_EXPORT int EVP_PKEY_CTX_set_signature_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
Definition: evp.c:349
OPENSSL_EXPORT void EVP_cleanup(void)
Definition: evp.c:367
OPENSSL_EXPORT int EVP_PKEY_type(int nid)
Definition: evp.c:213
OPENSSL_EXPORT RSA * EVP_PKEY_get1_RSA(EVP_PKEY *pkey)
Definition: evp.c:241
OPENSSL_EXPORT int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey)
Definition: evp.c:172
OPENSSL_EXPORT int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey)
Definition: evp_ctx.c:420
Definition: internal.h:181
OPENSSL_EXPORT int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx)
Definition: print.c:495
OPENSSL_EXPORT int EVP_PKEY_set1_RSA(EVP_PKEY *pkey, RSA *key)
Definition: evp.c:221
OPENSSL_EXPORT int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx)
Definition: evp_ctx.c:264
OPENSSL_EXPORT int EVP_PKEY_CTX_get_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD **out_md)
Definition: p_rsa.c:643
Definition: internal.h:69
OPENSSL_EXPORT int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx)
Definition: print.c:504
OPENSSL_EXPORT EVP_PKEY * EVP_parse_public_key(CBS *cbs)
Definition: evp_asn1.c:96
OPENSSL_EXPORT int EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int salt_len)
Definition: p_rsa.c:605
Definition: internal.h:232
OPENSSL_EXPORT int PKCS5_PBKDF2_HMAC_SHA1(const char *password, size_t password_len, const uint8_t *salt, size_t salt_len, unsigned iterations, size_t key_len, uint8_t *out_key)
Definition: pbkdf.c:145
OPENSSL_EXPORT int nid
Definition: x509.h:1056
OPENSSL_EXPORT void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx)
Definition: evp_ctx.c:138
OPENSSL_EXPORT int i2d_PrivateKey(const EVP_PKEY *key, uint8_t **outp)
Definition: i2d_pr.c:66
OPENSSL_EXPORT EVP_PKEY * d2i_PrivateKey(int type, EVP_PKEY **out, const uint8_t **inp, long len)
Definition: evp_asn1.c:236
OPENSSL_EXPORT const ASN1_OBJECT int const unsigned char int len
Definition: x509.h:1053
OPENSSL_EXPORT EVP_PKEY_CTX * EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e)
Definition: evp_ctx.c:130
Definition: bytestring.h:286
OPENSSL_EXPORT void OpenSSL_add_all_ciphers(void)
Definition: evp.c:363
OPENSSL_EXPORT int EVP_SignInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl)
Definition: sign.c:65
OPENSSL_EXPORT EC_KEY * EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey)
Definition: evp.c:289
int int * out
Definition: gcc-loops.cpp:206
#define OPENSSL_EXPORT
Definition: base.h:160
OPENSSL_EXPORT int EVP_PKEY_CTX_set_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
Definition: p_rsa.c:637
OPENSSL_EXPORT int EVP_PKEY_CTX_set_rsa_padding(EVP_PKEY_CTX *ctx, int padding)
Definition: p_rsa.c:595
OPENSSL_EXPORT int EVP_PKEY_up_ref(EVP_PKEY *pkey)
Definition: evp.c:111
OPENSSL_EXPORT int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, uint8_t *key, size_t *out_key_len)
Definition: evp_ctx.c:399
EGLContext ctx
Definition: eglext.h:192
unsigned char uint8_t
Definition: ptypes.h:89
Definition: bytestring.h:37
OPENSSL_EXPORT int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx)
Definition: print.c:513
OPENSSL_EXPORT int EVP_SignInit(EVP_MD_CTX *ctx, const EVP_MD *type)
Definition: sign.c:69
OPENSSL_EXPORT int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from)
Definition: evp.c:153
OPENSSL_EXPORT int EVP_PKEY_verify(EVP_PKEY_CTX *ctx, const uint8_t *sig, size_t sig_len, const uint8_t *data, size_t data_len)
Definition: evp_ctx.c:251
OPENSSL_EXPORT void OpenSSL_add_all_algorithms(void)
Definition: evp.c:359
EGLImageKHR EGLint * name
Definition: eglext.h:851
OPENSSL_EXPORT int EVP_PKEY_CTX_set0_rsa_oaep_label(EVP_PKEY_CTX *ctx, uint8_t *label, size_t label_len)
Definition: p_rsa.c:649
struct asn1_pctx_st ASN1_PCTX
Definition: base.h:196
OPENSSL_EXPORT EVP_PKEY * EVP_parse_private_key(CBS *cbs)
Definition: evp_asn1.c:146
OPENSSL_EXPORT int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx)
Definition: evp_ctx.c:286
OPENSSL_EXPORT EVP_PKEY_CTX * EVP_PKEY_CTX_new_id(int id, ENGINE *e)
Definition: evp_ctx.c:134
GLboolean GLboolean GLboolean GLboolean a
Definition: gl2ext.h:306
OPENSSL_EXPORT int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b)
Definition: evp.c:130
char * ptr
Definition: evp.h:738
OPENSSL_EXPORT int EVP_PKEY_CTX_get_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int *out_salt_len)
Definition: p_rsa.c:611
OPENSSL_EXPORT int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx)
Definition: evp_ctx.c:411
EGLenum type
Definition: eglext.h:63
EGLStreamKHR EGLint EGLint EGLint const void * data
Definition: eglext.h:984
OPENSSL_EXPORT int EVP_PKEY_is_opaque(const EVP_PKEY *pkey)
Definition: evp.c:116
OPENSSL_EXPORT RSA * EVP_PKEY_get0_RSA(EVP_PKEY *pkey)
Definition: evp.c:233
OPENSSL_EXPORT void OpenSSL_add_all_digests(void)
Definition: evp.c:365
OPENSSL_EXPORT int EVP_PKEY_CTX_set_rsa_keygen_bits(EVP_PKEY_CTX *ctx, int bits)
Definition: p_rsa.c:617
Definition: bytestring_test.cc:31
OPENSSL_EXPORT EVP_PKEY * EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx)
Definition: evp_ctx.c:194
OPENSSL_EXPORT int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx)
Definition: evp_ctx.c:308
OPENSSL_EXPORT EVP_PKEY * d2i_AutoPrivateKey(EVP_PKEY **out, const uint8_t **inp, long len)
Definition: evp_asn1.c:292
OPENSSL_EXPORT int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx, uint8_t *out, size_t *out_len, const uint8_t *in, size_t in_len)
Definition: evp_ctx.c:295
DOMString e
Definition: WebCryptoAPI.idl:115
OPENSSL_EXPORT int EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *data, size_t len)
Definition: digestsign.c:116
required unsigned long iterations
Definition: WebCryptoAPI.idl:275
OPENSSL_EXPORT DH * EVP_PKEY_get0_DH(EVP_PKEY *pkey)
Definition: evp.c:305
OPENSSL_EXPORT int EVP_PKEY_assign_EC_KEY(EVP_PKEY *pkey, EC_KEY *key)
Definition: evp.c:285
OPENSSL_EXPORT int EVP_PKEY_assign_DSA(EVP_PKEY *pkey, DSA *key)
Definition: evp.c:257
OPENSSL_EXPORT int EVP_PKEY_CTX_set_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
Definition: p_rsa.c:627
GLboolean GLboolean GLboolean b
Definition: gl2ext.h:306
OPENSSL_EXPORT int EVP_VerifyUpdate(EVP_MD_CTX *ctx, const void *data, size_t len)
Definition: sign.c:119
CRYPTO_refcount_t references
Definition: evp.h:731
OPENSSL_EXPORT int EVP_PKEY_assign_RSA(EVP_PKEY *pkey, RSA *key)
Definition: evp.c:229
OPENSSL_EXPORT int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx)
Definition: evp_ctx.c:219
OPENSSL_EXPORT int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx, uint8_t *out, size_t *out_len, const uint8_t *sig, size_t siglen)
Definition: evp_ctx.c:317
CFArrayRef CFTypeRef key
Definition: AVFoundationCFSoftLinking.h:129
OPENSSL_EXPORT DSA * EVP_PKEY_get1_DSA(EVP_PKEY *pkey)
Definition: evp.c:269
OPENSSL_EXPORT int EVP_PKEY_CTX_get0_rsa_oaep_label(EVP_PKEY_CTX *ctx, const uint8_t **out_label)
Definition: p_rsa.c:660
OPENSSL_EXPORT int EVP_VerifyInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl)
Definition: sign.c:111
OPENSSL_EXPORT void EVP_PKEY_free(EVP_PKEY *pkey)
Definition: evp.c:98
OPENSSL_EXPORT int EVP_DigestVerifyUpdate(EVP_MD_CTX *ctx, const void *data, size_t len)
Definition: digestsign.c:120
OPENSSL_EXPORT EC_KEY * EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey)
Definition: evp.c:297
OPENSSL_EXPORT int EVP_PKEY_CTX_get_rsa_padding(EVP_PKEY_CTX *ctx, int *out_padding)
Definition: p_rsa.c:600
OPENSSL_EXPORT int EVP_PKEY_CTX_set_rsa_keygen_pubexp(EVP_PKEY_CTX *ctx, BIGNUM *e)
Definition: p_rsa.c:622
OPENSSL_EXPORT int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer)
Definition: evp_ctx.c:339
OPENSSL_EXPORT int EVP_PKEY_CTX_get_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD **out_md)
Definition: p_rsa.c:632
OPENSSL_EXPORT int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey)
Definition: digestsign.c:111
EC_KEY * ec
Definition: evp.h:742
OPENSSL_EXPORT void EVP_MD_do_all_sorted(void(*callback)(const EVP_MD *cipher, const char *name, const char *unused, void *arg), void *arg)
Definition: evp_do_all.c:58
OPENSSL_EXPORT int EVP_VerifyInit(EVP_MD_CTX *ctx, const EVP_MD *type)
Definition: sign.c:115
OPENSSL_EXPORT int PKCS5_PBKDF2_HMAC(const char *password, size_t password_len, const uint8_t *salt, size_t salt_len, unsigned iterations, const EVP_MD *digest, size_t key_len, uint8_t *out_key)
Definition: pbkdf.c:63
DH * dh
Definition: evp.h:741
OPENSSL_EXPORT int EVP_PKEY_sign(EVP_PKEY_CTX *ctx, uint8_t *sig, size_t *sig_len, const uint8_t *data, size_t data_len)
Definition: evp_ctx.c:229