]> granicus.if.org Git - curl/commitdiff
OpenSSL: enable TLS 1.3 post-handshake auth
authorChristian Heimes <christian@python.org>
Fri, 21 Sep 2018 08:37:43 +0000 (10:37 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 24 Sep 2018 06:01:18 +0000 (08:01 +0200)
OpenSSL 1.1.1 requires clients to opt-in for post-handshake
authentication.

Fixes: https://github.com/curl/curl/issues/3026
Signed-off-by: Christian Heimes <christian@python.org>
Closes https://github.com/curl/curl/pull/3027

lib/vtls/openssl.c

index 55226e4ba62fb5d2af1c034bed50abf9c3e10b11..230eea2d000d621aa0093723621da7f7e00da609 100644 (file)
      !defined(LIBRESSL_VERSION_NUMBER) &&       \
      !defined(OPENSSL_IS_BORINGSSL))
 #define HAVE_SSL_CTX_SET_CIPHERSUITES
+#define HAVE_SSL_CTX_SET_POST_HANDSHAKE_AUTH
 #endif
 
 #if defined(LIBRESSL_VERSION_NUMBER)
@@ -2467,6 +2468,11 @@ static CURLcode ossl_connect_step1(struct connectdata *conn, int sockindex)
   }
 #endif
 
+#ifdef HAVE_SSL_CTX_SET_POST_HANDSHAKE_AUTH
+  /* OpenSSL 1.1.1 requires clients to opt-in for PHA */
+  SSL_CTX_set_post_handshake_auth(BACKEND->ctx, 1);
+#endif
+
 #ifdef USE_TLS_SRP
   if(ssl_authtype == CURL_TLSAUTH_SRP) {
     char * const ssl_username = SSL_SET_OPTION(username);