=head1 NAME
-EVP_PKEY_set1_encoded_public_key, EVP_PKEY_get1_encoded_public_key
+EVP_PKEY_set1_encoded_public_key, EVP_PKEY_get1_encoded_public_key,
+EVP_PKEY_set1_tls_encodedpoint, EVP_PKEY_get1_tls_encodedpoint
- functions to set and get public key data within an EVP_PKEY
=head1 SYNOPSIS
size_t EVP_PKEY_get1_encoded_public_key(EVP_PKEY *pkey, unsigned char **ppub);
- #define EVP_PKEY_set1_tls_encodedpoint(pkey, pt, ptlen) \
- EVP_PKEY_set1_encoded_public_key((pkey), (pt), (ptlen))
+Deprecated since OpenSSL 3.0, can be hidden entirely by defining
+B<OPENSSL_API_COMPAT> with a suitable version value, see
+L<openssl_user_macros(7)>:
- #define EVP_PKEY_get1_tls_encodedpoint(pkey, ppt) \
- EVP_PKEY_get1_encoded_public_key((pkey), (ppt))
+ int EVP_PKEY_set1_tls_encodedpoint(EVP_PKEY *pkey,
+ const unsigned char *pt, size_t ptlen);
+
+ size_t EVP_PKEY_get1_tls_encodedpoint(EVP_PKEY *pkey, unsigned char **ppt);
=head1 DESCRIPTION
returned by the function. The application is responsible for freeing the
allocated buffer.
+The macro EVP_PKEY_set1_tls_encodedpoint() is deprecated and simply calls
+EVP_PKEY_set1_encoded_public_key() with all the same arguments. New applications
+should use EVP_PKEY_set1_encoded_public_key() instead.
+
+The macro EVP_PKEY_get1_tls_encodedpoint() is deprecated and simply calls
+EVP_PKEY_get1_encoded_public_key() with all the same arguments. New applications
+should use EVP_PKEY_get1_encoded_public_key() instead.
+
+
=head1 RETURN VALUES
EVP_PKEY_set1_encoded_public_key() returns 1 for success and 0 or a negative
=head2 Set up a peer's EVP_PKEY ready for a key exchange operation
#include <openssl/evp.h>
-
+
int exchange(EVP_PKEY *ourkey, unsigned char *peer_pub, size_t peer_pub_len)
{
EVP_PKEY *peerkey = EVP_PKEY_new();
if (EVP_PKEY_set1_encoded_public_key(peerkey, peer_pub,
peer_pub_len) <= 0)
return 0;
-
+
/* Do the key exchange here */
-
+
EVP_PKEY_free(peerkey);
-
+
return 1;
}
=head1 SEE ALSO
-L<EVP_PKEY_new(3)>, L<EVP_PKEY_copy_parameters(7)>,
+L<EVP_PKEY_new(3)>, L<EVP_PKEY_copy_parameters(3)>,
L<EVP_PKEY_derive_init(3)>, L<EVP_PKEY_derive(3)>,
L<EVP_PKEY-DH(7)>, L<EVP_PKEY-EC(7)>, L<EVP_PKEY-X25519(7)>, L<EVP_PKEY-X448(7)>
=head1 HISTORY
-These functions were added in OpenSSL 3.0.
+EVP_PKEY_set1_encoded_public_key() and EVP_PKEY_get1_encoded_public_key() were
+added in OpenSSL 3.0.
+
+EVP_PKEY_set1_tls_encodedpoint() and EVP_PKEY_get1_tls_encodedpoint() were
+deprecated in OpenSSL 3.0.
=head1 COPYRIGHT