EVP_OPENINIT(3ssl) | OpenSSL | EVP_OPENINIT(3ssl) |
NUME
EVP_OpenInit, EVP_OpenUpdate, EVP_OpenFinal - decriptarea plicului EVP
SINOPSIS
#include <openssl/evp.h> int EVP_OpenInit(EVP_CIPHER_CTX *ctx, EVP_CIPHER *type, unsigned char *ek, int ekl, unsigned char *iv, EVP_PKEY *priv); int EVP_OpenUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl, unsigned char *in, int inl); int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);
DESCRIERE
Rutinele plic EVP sunt o interfață de nivel înalt pentru decriptarea plicului. Acestea decriptează o cheie simetrică criptată cu cheie publică și apoi decriptează datele folosind-o.
EVP_OpenInit() inițializează un context de cifrare ctx pentru decriptare cu cifrul type. Acesta decriptează cheia simetrică criptată de lungime ekl octeți transmisă în parametrul ek utilizând cheia privată priv. IV este furnizat în parametrul iv.
EVP_OpenUpdate() și EVP_OpenFinal() au exact aceleași proprietăți ca și rutinele EVP_DecryptUpdate() și EVP_DecryptFinal(), documentate pe pagina de manual EVP_EncryptInit(3).
NOTE
Este posibil să se apeleze EVP_OpenInit() de două ori în același mod ca EVP_DecryptInit(). Primul apel ar trebui să aibă priv stabilit la NULL și (după stabilirea oricăror parametri de cifrare) ar trebui să fie apelat din nou cu type stabilit la NULL.
Dacă cifrul transmis în parametrul type este un cifru cu lungime variabilă, atunci lungimea cheii va fi stabilită la valoarea lungimii cheii recuperate. Dacă cifrul este un cifru cu lungime fixă, atunci lungimea cheii recuperate trebuie să fie egală cu lungimea cifrului fix.
VALORI RETURNATE
EVP_OpenInit() returnează 0 în caz de eroare sau un număr întreg diferit de zero (de fapt dimensiunea cheii secrete recuperate) în caz de succes.
EVP_OpenUpdate() returnează 1 pentru succes sau 0 pentru eșec.
EVP_OpenFinal() returnează 0 dacă decriptarea a eșuat sau 1 pentru succes.
CONSULTAȚI ȘI
DREPTURI DE AUTOR
Drepturi de autor 2000-2020 The OpenSSL Project Authors. Toate drepturile rezervate.
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 https://www.openssl.org/source/license.html.
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
5 august 2025 | 3.5.2 |