bind EVP_PKEY_get1_tls_encodedpoint because X25519 (#3682)

diff --git a/src/_cffi_src/openssl/evp.py b/src/_cffi_src/openssl/evp.py
index 57f0889..1b10863 100644
--- a/src/_cffi_src/openssl/evp.py
+++ b/src/_cffi_src/openssl/evp.py
@@ -31,6 +31,7 @@
 static const int Cryptography_HAS_PKEY_CTX;
 static const int Cryptography_HAS_SCRYPT;
 static const int Cryptography_HAS_EVP_PKEY_DHX;
+static const int Cryptography_HAS_EVP_PKEY_get1_tls_encodedpoint;
 """
 
 FUNCTIONS = """
@@ -147,6 +148,9 @@
 """
 
 MACROS = """
+/* Added in 1.1.0 */
+size_t EVP_PKEY_get1_tls_encodedpoint(EVP_PKEY *, unsigned char **);
+
 /* PKCS8_PRIV_KEY_INFO * became const in 1.1.0 */
 EVP_PKEY *EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *);
 
@@ -218,6 +222,13 @@
 static const long Cryptography_HAS_SCRYPT = 1;
 #endif
 
+#if CRYPTOGRAPHY_OPENSSL_110_OR_GREATER
+static const long Cryptography_HAS_EVP_PKEY_get1_tls_encodedpoint = 1;
+#else
+static const long Cryptography_HAS_EVP_PKEY_get1_tls_encodedpoint = 0;
+size_t (*EVP_PKEY_get1_tls_encodedpoint)(EVP_PKEY *, unsigned char **) = NULL;
+#endif
+
 /* OpenSSL 1.1.0+ does this define for us, but if not present we'll do it */
 #if !defined(EVP_CTRL_AEAD_SET_IVLEN)
 # define EVP_CTRL_AEAD_SET_IVLEN EVP_CTRL_GCM_SET_IVLEN
diff --git a/src/cryptography/hazmat/bindings/openssl/_conditional.py b/src/cryptography/hazmat/bindings/openssl/_conditional.py
index 942ac60..8672a59 100644
--- a/src/cryptography/hazmat/bindings/openssl/_conditional.py
+++ b/src/cryptography/hazmat/bindings/openssl/_conditional.py
@@ -176,4 +176,7 @@
     "Cryptography_HAS_X25519": [
         "NID_X25519",
     ],
+    "Cryptography_HAS_EVP_PKEY_get1_tls_encodedpoint": [
+        "EVP_PKEY_get1_tls_encodedpoint",
+    ],
 }