EVP_PKEY_COPY_PARAMETERS(3ssl) OpenSSL EVP_PKEY_COPY_PARAMETERS(3ssl)

EVP_PKEY_missing_parameters, EVP_PKEY_copy_parameters, EVP_PKEY_parameters_eq, EVP_PKEY_cmp_parameters, EVP_PKEY_eq, EVP_PKEY_cmp - parametrul cheii publice și funcțiile de comparare

#include <openssl/evp.h>
int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey);
int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from);
int EVP_PKEY_parameters_eq(const EVP_PKEY *a, const EVP_PKEY *b);
int EVP_PKEY_eq(const EVP_PKEY *a, const EVP_PKEY *b);

Următoarele funcții au fost depreciate de la OpenSSL 3.0 și pot fi ascunse complet prin definirea OPENSSL_API_COMPAT cu o valoare de versiune adecvată, a se vedea openssl_user_macros(7):

int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b);
int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b);

Funcția EVP_PKEY_missing_parameters() returnează 1 dacă parametrii cheii publice ai pkey lipsesc și 0 dacă aceștia sunt prezenți sau dacă algoritmul nu utilizează parametri.

Funcția EVP_PKEY_copy_parameters() copiază parametrii din cheia from în cheia to. Se returnează o eroare dacă parametrii lipsesc din from sau sunt prezenți atât în from, cât și în to și nu se potrivesc. Dacă parametrii din from și to sunt prezenți și se potrivesc, această funcție nu are niciun efect.

Funcția EVP_PKEY_parameters_eq() verifică dacă parametrii cheilor a și b sunt egali.

Funcția EVP_PKEY_eq() verifică egalitatea cheilor a și b, inclusiv parametrii acestora, dacă sunt disponibili.

Scopul principal al funcțiilor EVP_PKEY_missing_parameters() și EVP_PKEY_copy_parameters() este de a gestiona cheile publice din certificate în care parametrii sunt uneori omisi din cheia publică dacă sunt moșteniți de la autoritatea de certificare care a semnat-o.

Funcțiile depreciate EVP_PKEY_cmp() și EVP_PKEY_cmp_parameters() diferă în ceea ce privește valorile returnate în comparație cu alte funcții _cmp(). Acestea sunt alias pentru EVP_PKEY_eq() și EVP_PKEY_parameters_eq().

Funcția EVP_PKEY_cmp() verifica anterior doar parametrii cheii (dacă existau) și cheia publică, presupunând că exista întotdeauna o cheie publică și că egalitatea cheilor private putea fi dedusă din aceasta. Deoarece nu se mai presupune că cheia privată dintr-un EVP_PKEY(3) este întotdeauna însoțită de o cheie publică, comparația nu se poate baza doar pe comparația cheilor publice.

În schimb, EVP_PKEY_eq() (și, prin urmare, și EVP_PKEY_cmp()) compară acum:

1.
parametrii cheii (dacă există)
2.
cheile publice sau cheile private ale celor două EVP_PKEYs, în funcție de conținutul lor.

Funcția EVP_PKEY_missing_parameters() returnează 1 dacă parametrii cheii publice ai pkey lipsesc și 0 dacă aceștia sunt prezenți sau dacă algoritmul nu utilizează parametri.

Aceste funcții EVP_PKEY_copy_parameters() returnează 1 în caz de succes și 0 în caz de eșec.

Funcțiile EVP_PKEY_cmp_parameters(), EVP_PKEY_parameters_eq(), EVP_PKEY_cmp() și EVP_PKEY_eq() returnează 1 dacă intrările lor se potrivesc, 0 dacă nu se potrivesc, -1 dacă tipurile de chei sunt diferite și -2 dacă operația nu este acceptată.

EVP_PKEY_CTX_new(3), EVP_PKEY_keygen(3)

Funcțiile EVP_PKEY_cmp() și EVP_PKEY_cmp_parameters() au fost depreciate în OpenSSL 3.0.

EVP_PKEY_eq() și EVP_PKEY_parameters_eq() au fost adăugate în OpenSSL 3.0 pentru a înlocui EVP_PKEY_cmp() și EVP_PKEY_cmp_parameters().

Drepturi de autor 2006-2021 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.

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