EVP_PKEY_CMP(3)
β¨ NAME β¨
Hey bestie! Welcome to EVP_PKEY_CMP(3) from the libcrypto library β this page is all about the public key parameter and comparison functions. We're talking EVP_PKEY_missing_parameters, EVP_PKEY_copy_parameters, EVP_PKEY_cmp_parameters, and EVP_PKEY_cmp. π It's giving key-nerd excellence, fr fr.
πΈ SYNOPSIS πΈ
library βlibcryptoβ #include <openssl/evp.h>
int
EVP_PKEY_missing_parameters(const EVP_PKEY *pkey);
int
EVP_PKEY_copy_parameters(EVP_PKEY *destination, const EVP_PKEY *source);
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);
π DESCRIPTION π
okay so these functions are all about public key parameters and comparing keys. Let's go one by one, no cap. π
π¦ EVP_PKEY_missing_parameters()
This one checks whether any public key parameters are missing from pkey. That's it β it's giving parameter vibe check. β¨
π EVP_PKEY_copy_parameters()
Copies all public key parameters from source to destination. If the algorithm does not use parameters, no action occurs. literally nothing happens, and that's fine. π«Ά
π EVP_PKEY_cmp_parameters()
Compares the public key parameters of a and b. This is only supported for algorithms that use parameters. iykyk. π
π EVP_PKEY_cmp()
Compares the public key components of a and b. If the algorithm uses public key parameters, it also compares the parameters. So it's a full-on key comparison moment. π₯
The main purpose of EVP_PKEY_missing_parameters() and EVP_PKEY_copy_parameters() is to handle public keys in certificates where the parameters are sometimes omitted from a public key if they are inherited from the CA that signed it. Certificate drama, but make it cryptographic. π
Since OpenSSL private keys contain public key components too, EVP_PKEY_cmp() can also be used to determine if a private key matches a public key. Bestie matchmaking, but for keys. π
β RETURN VALUES β
EVP_PKEY_missing_parameters()β returns1if the public key parameters ofpkeyare missing or incomplete, or0if they are present and complete or if the algorithm doesn't use parameters. slay.EVP_PKEY_copy_parameters()β returns1for success or0for failure. In particular, it fails if the key types mismatch or if the public key parameters in thesourceare missing or incomplete. no cap.EVP_PKEY_cmp_parameters()andEVP_PKEY_cmp()β return1if the keys match,0if they don't match,-1if the key types are different, and-2if the operation is not supported. periodt.
πΈ SEE ALSO πΈ
π HISTORY π
EVP_PKEY_missing_parameters()andEVP_PKEY_copy_parameters()first appeared in SSLeay 0.8.0.EVP_PKEY_cmp_parameters()first appeared in SSLeay 0.9.0.- These functions have been available since OpenBSD 2.4. π«Ά
EVP_PKEY_cmp()first appeared in OpenSSL 0.9.8 and has been available since OpenBSD 4.5. β¨
That's the whole page, bestie. Big kiss from Debian, dated June 8, 2025 ππ
π¦ where this page comes from
- alpine 3.24: libressl-doc 4.3.1-r0 Β· custom
- arch rolling: libressl 4.4.0-1 Β· ISC AND custom:OpenSSL
- Copyright (c) 2021 Ingo Schwarze <schwarze@openbsd.org>
- Copyright (c) 2006, 2013, 2014, 2016 The OpenSSL Project
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms