Loading crypto/asn1/ameth_lib.c +17 −0 Original line number Diff line number Diff line Loading @@ -400,3 +400,20 @@ void EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth, { ameth->pkey_param_check = pkey_param_check; } void EVP_PKEY_asn1_set_set_priv_key(EVP_PKEY_ASN1_METHOD *ameth, int (*set_priv_key) (EVP_PKEY *pk, const unsigned char *priv, size_t len)) { ameth->set_priv_key = set_priv_key; } void EVP_PKEY_asn1_set_set_pub_key(EVP_PKEY_ASN1_METHOD *ameth, int (*set_pub_key) (EVP_PKEY *pk, const unsigned char *pub, size_t len)) { ameth->set_pub_key = set_pub_key; } doc/man3/EVP_PKEY_ASN1_METHOD.pod +24 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ EVP_PKEY_asn1_set_check, EVP_PKEY_asn1_set_public_check, EVP_PKEY_asn1_set_param_check, EVP_PKEY_asn1_set_security_bits, EVP_PKEY_asn1_set_set_priv_key, EVP_PKEY_asn1_set_set_pub_key, EVP_PKEY_get0_asn1 - manipulating and registering EVP_PKEY_ASN1_METHOD structure Loading Loading @@ -112,6 +114,17 @@ EVP_PKEY_get0_asn1 int (*pkey_security_bits) (const EVP_PKEY *pk)); void EVP_PKEY_asn1_set_set_priv_key(EVP_PKEY_ASN1_METHOD *ameth, int (*set_priv_key) (EVP_PKEY *pk, const unsigned char *priv, size_t len)); void EVP_PKEY_asn1_set_set_pub_key(EVP_PKEY_ASN1_METHOD *ameth, int (*set_pub_key) (EVP_PKEY *pk, const unsigned char *pub, size_t len)); const EVP_PKEY_ASN1_METHOD *EVP_PKEY_get0_asn1(const EVP_PKEY *pkey); =head1 DESCRIPTION Loading Loading @@ -327,6 +340,14 @@ They MUST return 0 for an invalid key, or 1 for a valid key. They are called by L<EVP_PKEY_check(3)>, L<EVP_PKEY_public_check(3)> and L<EVP_PKEY_param_check(3)> respectively. int (*set_priv_key) (EVP_PKEY *pk, const unsigned char *priv, size_t len); int (*set_pub_key) (EVP_PKEY *pk, const unsigned char *pub, size_t len); The set_priv_key() and set_pub_key() methods are used to set the raw private and public key data for an EVP_PKEY. They MUST return 0 on error, or 1 on success. They are called by L<EVP_PKEY_new_private_key(3)>, and L<EVP_PKEY_new_public_key(3)> respectively. =head2 Functions EVP_PKEY_asn1_new() creates and returns a new B<EVP_PKEY_ASN1_METHOD> Loading Loading @@ -368,8 +389,9 @@ EVP_PKEY_asn1_set_public(), EVP_PKEY_asn1_set_private(), EVP_PKEY_asn1_set_param(), EVP_PKEY_asn1_set_free(), EVP_PKEY_asn1_set_ctrl(), EVP_PKEY_asn1_set_item(), EVP_PKEY_asn1_set_siginf(), EVP_PKEY_asn1_set_check(), EVP_PKEY_asn1_set_public_check(), EVP_PKEY_asn1_set_param_check() and EVP_PKEY_asn1_set_security_bits() set the diverse methods of the given EVP_PKEY_asn1_set_public_check(), EVP_PKEY_asn1_set_param_check(), EVP_PKEY_asn1_set_security_bits(), EVP_PKEY_asn1_set_set_priv_key() and EVP_PKEY_asn1_set_set_pub_key() set the diverse methods of the given B<EVP_PKEY_ASN1_METHOD> object. EVP_PKEY_get0_asn1() finds the B<EVP_PKEY_ASN1_METHOD> associated Loading include/openssl/evp.h +10 −0 Original line number Diff line number Diff line Loading @@ -1230,6 +1230,16 @@ void EVP_PKEY_asn1_set_public_check(EVP_PKEY_ASN1_METHOD *ameth, void EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth, int (*pkey_param_check) (const EVP_PKEY *pk)); void EVP_PKEY_asn1_set_set_priv_key(EVP_PKEY_ASN1_METHOD *ameth, int (*set_priv_key) (EVP_PKEY *pk, const unsigned char *priv, size_t len)); void EVP_PKEY_asn1_set_set_pub_key(EVP_PKEY_ASN1_METHOD *ameth, int (*set_pub_key) (EVP_PKEY *pk, const unsigned char *pub, size_t len)); void EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth, int (*pkey_security_bits) (const EVP_PKEY *pk)); Loading util/libcrypto.num +2 −0 Original line number Diff line number Diff line Loading @@ -4525,3 +4525,5 @@ RAND_DRBG_set_reseed_defaults 4466 1_1_1 EXIST::FUNCTION: EVP_PKEY_new_private_key 4467 1_1_1 EXIST::FUNCTION: EVP_PKEY_new_public_key 4468 1_1_1 EXIST::FUNCTION: EVP_PKEY_new_CMAC_key 4469 1_1_1 EXIST::FUNCTION: EVP_PKEY_asn1_set_set_priv_key 4470 1_1_1 EXIST::FUNCTION: EVP_PKEY_asn1_set_set_pub_key 4471 1_1_1 EXIST::FUNCTION: Loading
crypto/asn1/ameth_lib.c +17 −0 Original line number Diff line number Diff line Loading @@ -400,3 +400,20 @@ void EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth, { ameth->pkey_param_check = pkey_param_check; } void EVP_PKEY_asn1_set_set_priv_key(EVP_PKEY_ASN1_METHOD *ameth, int (*set_priv_key) (EVP_PKEY *pk, const unsigned char *priv, size_t len)) { ameth->set_priv_key = set_priv_key; } void EVP_PKEY_asn1_set_set_pub_key(EVP_PKEY_ASN1_METHOD *ameth, int (*set_pub_key) (EVP_PKEY *pk, const unsigned char *pub, size_t len)) { ameth->set_pub_key = set_pub_key; }
doc/man3/EVP_PKEY_ASN1_METHOD.pod +24 −2 Original line number Diff line number Diff line Loading @@ -19,6 +19,8 @@ EVP_PKEY_asn1_set_check, EVP_PKEY_asn1_set_public_check, EVP_PKEY_asn1_set_param_check, EVP_PKEY_asn1_set_security_bits, EVP_PKEY_asn1_set_set_priv_key, EVP_PKEY_asn1_set_set_pub_key, EVP_PKEY_get0_asn1 - manipulating and registering EVP_PKEY_ASN1_METHOD structure Loading Loading @@ -112,6 +114,17 @@ EVP_PKEY_get0_asn1 int (*pkey_security_bits) (const EVP_PKEY *pk)); void EVP_PKEY_asn1_set_set_priv_key(EVP_PKEY_ASN1_METHOD *ameth, int (*set_priv_key) (EVP_PKEY *pk, const unsigned char *priv, size_t len)); void EVP_PKEY_asn1_set_set_pub_key(EVP_PKEY_ASN1_METHOD *ameth, int (*set_pub_key) (EVP_PKEY *pk, const unsigned char *pub, size_t len)); const EVP_PKEY_ASN1_METHOD *EVP_PKEY_get0_asn1(const EVP_PKEY *pkey); =head1 DESCRIPTION Loading Loading @@ -327,6 +340,14 @@ They MUST return 0 for an invalid key, or 1 for a valid key. They are called by L<EVP_PKEY_check(3)>, L<EVP_PKEY_public_check(3)> and L<EVP_PKEY_param_check(3)> respectively. int (*set_priv_key) (EVP_PKEY *pk, const unsigned char *priv, size_t len); int (*set_pub_key) (EVP_PKEY *pk, const unsigned char *pub, size_t len); The set_priv_key() and set_pub_key() methods are used to set the raw private and public key data for an EVP_PKEY. They MUST return 0 on error, or 1 on success. They are called by L<EVP_PKEY_new_private_key(3)>, and L<EVP_PKEY_new_public_key(3)> respectively. =head2 Functions EVP_PKEY_asn1_new() creates and returns a new B<EVP_PKEY_ASN1_METHOD> Loading Loading @@ -368,8 +389,9 @@ EVP_PKEY_asn1_set_public(), EVP_PKEY_asn1_set_private(), EVP_PKEY_asn1_set_param(), EVP_PKEY_asn1_set_free(), EVP_PKEY_asn1_set_ctrl(), EVP_PKEY_asn1_set_item(), EVP_PKEY_asn1_set_siginf(), EVP_PKEY_asn1_set_check(), EVP_PKEY_asn1_set_public_check(), EVP_PKEY_asn1_set_param_check() and EVP_PKEY_asn1_set_security_bits() set the diverse methods of the given EVP_PKEY_asn1_set_public_check(), EVP_PKEY_asn1_set_param_check(), EVP_PKEY_asn1_set_security_bits(), EVP_PKEY_asn1_set_set_priv_key() and EVP_PKEY_asn1_set_set_pub_key() set the diverse methods of the given B<EVP_PKEY_ASN1_METHOD> object. EVP_PKEY_get0_asn1() finds the B<EVP_PKEY_ASN1_METHOD> associated Loading
include/openssl/evp.h +10 −0 Original line number Diff line number Diff line Loading @@ -1230,6 +1230,16 @@ void EVP_PKEY_asn1_set_public_check(EVP_PKEY_ASN1_METHOD *ameth, void EVP_PKEY_asn1_set_param_check(EVP_PKEY_ASN1_METHOD *ameth, int (*pkey_param_check) (const EVP_PKEY *pk)); void EVP_PKEY_asn1_set_set_priv_key(EVP_PKEY_ASN1_METHOD *ameth, int (*set_priv_key) (EVP_PKEY *pk, const unsigned char *priv, size_t len)); void EVP_PKEY_asn1_set_set_pub_key(EVP_PKEY_ASN1_METHOD *ameth, int (*set_pub_key) (EVP_PKEY *pk, const unsigned char *pub, size_t len)); void EVP_PKEY_asn1_set_security_bits(EVP_PKEY_ASN1_METHOD *ameth, int (*pkey_security_bits) (const EVP_PKEY *pk)); Loading
util/libcrypto.num +2 −0 Original line number Diff line number Diff line Loading @@ -4525,3 +4525,5 @@ RAND_DRBG_set_reseed_defaults 4466 1_1_1 EXIST::FUNCTION: EVP_PKEY_new_private_key 4467 1_1_1 EXIST::FUNCTION: EVP_PKEY_new_public_key 4468 1_1_1 EXIST::FUNCTION: EVP_PKEY_new_CMAC_key 4469 1_1_1 EXIST::FUNCTION: EVP_PKEY_asn1_set_set_priv_key 4470 1_1_1 EXIST::FUNCTION: EVP_PKEY_asn1_set_set_pub_key 4471 1_1_1 EXIST::FUNCTION: