EVP_PKEY_ENCRYPT(3ssl) OpenSSL EVP_PKEY_ENCRYPT(3ssl) EVP_PKEY_encrypt_init_ex, EVP_PKEY_encrypt_init, EVP_PKEY_encrypt - #include int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx); int EVP_PKEY_encrypt_init_ex(EVP_PKEY_CTX *ctx, const OSSL_PARAM params[]); int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen, const unsigned char *in, size_t inlen); EVP_PKEY_encrypt_init() pkey . EVP_PKEY_encrypt_init_ex() pkey params . EVP_PKEY_encrypt() ctx. in inlen. out NULL outlen. out NULL outlen out out outlen. EVP_PKEY_encrypt_init() . EVP_PKEY_encrypt_init_ex(). EVP_PKEY_encrypt() . EVP_PKEY_encrypt_init(), EVP_PKEY_encrypt_init_ex() EVP_PKEY_encrypt() 1 0 . -2 . OAEP ( RSA). PEM_read_PUBKEY(3) d2i_X509(3) . 'eng = NULL;' OpenSSL RSA : #include #include #include EVP_PKEY_CTX *ctx; ENGINE *eng; unsigned char *out, *in; size_t outlen, inlen; EVP_PKEY *key; /* * NB: eng, key, in, inlen * key RSA */ ctx = EVP_PKEY_CTX_new(key, eng); if (!ctx) /* */ if (EVP_PKEY_encrypt_init(ctx) <= 0) /* */ if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_OAEP_PADDING) <= 0) /* */ /* */ if (EVP_PKEY_encrypt(ctx, NULL, &outlen, in, inlen) <= 0) /* */ out = OPENSSL_malloc(outlen); if (!out) /* malloc */ if (EVP_PKEY_encrypt(ctx, out, &outlen, in, inlen) <= 0) /* */ /* outlen out */ d2i_X509(3), ENGINE_by_id(3), EVP_PKEY_CTX_new(3), EVP_PKEY_decrypt(3), EVP_PKEY_sign(3), EVP_PKEY_verify(3), EVP_PKEY_verify_recover(3), EVP_PKEY_derive(3) OpenSSL 1.0.0. 2006-2021 OpenSSL. . Apache 2.0 ( ""). . LICENSE . 3 . . : . 3.6.2 7 2026 EVP_PKEY_ENCRYPT(3ssl)