.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .if n .ds AD l .\" .\" Required to disable full justification in groff 1.23.0. .\" ======================================================================== .\" .IX Titlu "EVP_PKEY_ENCRYPT 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH EVP_PKEY_ENCRYPT 3ssl "5 august 2025" 3.5.2 OpenSSL .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH NUME EVP_PKEY_encrypt_init_ex, EVP_PKEY_encrypt_init, EVP_PKEY_encrypt \- criptare folosind un algoritm cu cheie publică .SH SINOPSIS .IX Antet SINOPSIS .Vb 1 \& #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); .Ve .SH DESCRIERE .IX Antet DESCRIERE Funcția \fBEVP_PKEY_encrypt_init()\fP inițializează un context de algoritm cu cheie publică utilizând cheia \fBpkey\fP pentru o operație de criptare. .PP Funcția \fBEVP_PKEY_encrypt_init_ex()\fP inițializează un context de algoritm cu cheie publică utilizând cheia \fBpkey\fP pentru o operație de criptare și definește parametrii specifici algoritmului \fBparams\fP. .PP Funcția \fBEVP_PKEY_encrypt()\fP efectuează o operație de criptare cu cheie publică utilizând \fBctx\fP. Datele care urmează să fie criptate sunt specificate utilizând parametrii \fBin\fP și \&\fBinlen\fP. Dacă \fBout\fP este \fBNULL\fP, atunci dimensiunea maximă a tamponului de ieșire este scrisă în parametrul \fBoutlen\fP. Dacă \fBout\fP nu este \fBNULL\fP, atunci înainte de apel, parametrul \fBoutlen\fP trebuie să conțină lungimea tamponului \&\fBout\fP. Dacă apelul are succes, datele criptate sunt scrise în \&\fBout\fP, iar cantitatea de date scrise în \fBoutlen\fP. .SH NOTE .IX Antet NOTE După apelul către \fBEVP_PKEY_encrypt_init()\fP, pot fi efectuate operații de control specifice algoritmului pentru a defini parametrii corespunzători pentru operație. Aceste operații pot fi incluse în apelul \fBEVP_PKEY_encrypt_init_ex()\fP. .PP Funcția \fBEVP_PKEY_encrypt()\fP poate fi apelată de mai multe ori în același context dacă se efectuează mai multe operații utilizând aceiași parametri. .SH "VALORI RETURNATE" .IX Antet "VALORI RETURNATE" \&\fBEVP_PKEY_encrypt_init()\fP, \fBEVP_PKEY_encrypt_init_ex()\fP și \fBEVP_PKEY_encrypt()\fP returnează 1 pentru succes și 0 sau o valoare negativă pentru eșec. În special, o valoare returnată de \-2 indică că operația nu este acceptată de algoritmul cheii publice. .SH EXEMPLE .IX Antet EXEMPLE Criptați datele folosind OAEP (pentru cheile RSA). Consultați și \fBPEM_read_PUBKEY\fP\|(3) sau \&\fBd2i_X509\fP\|(3) pentru modalități de încărcare a unei chei publice. De asemenea, puteți defini pur și simplu 'eng = NULL;' pentru a începe cu implementarea implicită OpenSSL RSA: .PP .Vb 3 \& #include \& #include \& #include \& \& EVP_PKEY_CTX *ctx; \& ENGINE *eng; \& unsigned char *out, *in; \& size_t outlen, inlen; \& EVP_PKEY *key; \& \& /* \& * NB: presupune că eng, key, in, inlen sunt deja configurate \& * și că acea cheie este o cheie publică RSA \& */ \& ctx = EVP_PKEY_CTX_new(key, eng); \& if (!ctx) \& /* A apărut o eroare */ \& if (EVP_PKEY_encrypt_init(ctx) <= 0) \& /* Eroare */ \& if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_OAEP_PADDING) <= 0) \& /* Eroare */ \& \& /* Determină lungimea memoriei tampon */ \& if (EVP_PKEY_encrypt(ctx, NULL, &outlen, in, inlen) <= 0) \& /* Eroare */ \& \& out = OPENSSL_malloc(outlen); \& \& if (!out) \& /* Eșec malloc */ \& \& if (EVP_PKEY_encrypt(ctx, out, &outlen, in, inlen) <= 0) \& /* Eroare */ \& \& /* Datele criptate sunt octeți outlen scriși în memoria tampon de ieșire */ .Ve .SH "CONSULTAȚI ȘI" .IX Antet "CONSULTAȚI ȘI" \&\fBd2i_X509\fP\|(3), \&\fBENGINE_by_id\fP\|(3), \&\fBEVP_PKEY_CTX_new\fP\|(3), \&\fBEVP_PKEY_decrypt\fP\|(3), \&\fBEVP_PKEY_sign\fP\|(3), \&\fBEVP_PKEY_verify\fP\|(3), \&\fBEVP_PKEY_verify_recover\fP\|(3), \&\fBEVP_PKEY_derive\fP\|(3) .SH ISTORIC .IX Antet ISTORIC Aceste funcții au fost adăugate în OpenSSL 1.0.0. .SH "DREPTURI DE AUTOR" .IX Antet "DREPTURI DE AUTOR" Drepturi de autor 2006\-2021 The OpenSSL Project Authors. Toate drepturile rezervate. .PP Licențiat sub Licența Apache 2.0 („License”). Nu aveți voie să utilizați acest fișier decât în conformitate cu licența. Puteți obține o copie din fișierul LICENSE din distribuția sursei sau de la . .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .