• Home
  • Raw
  • Download

Lines Matching refs:hs

205 static void ssl_get_client_disabled(SSL_HANDSHAKE *hs, uint32_t *out_mask_a,  in ssl_get_client_disabled()  argument
211 if (hs->config->psk_client_callback == NULL) { in ssl_get_client_disabled()
217 static bool ssl_write_client_cipher_list(SSL_HANDSHAKE *hs, CBB *out) { in ssl_write_client_cipher_list() argument
218 SSL *const ssl = hs->ssl; in ssl_write_client_cipher_list()
220 ssl_get_client_disabled(hs, &mask_a, &mask_k); in ssl_write_client_cipher_list()
229 !CBB_add_u16(&child, ssl_get_grease_value(hs, ssl_grease_cipher))) { in ssl_write_client_cipher_list()
235 if (hs->max_version >= TLS1_3_VERSION) { in ssl_write_client_cipher_list()
250 if (hs->min_version < TLS1_3_VERSION) { in ssl_write_client_cipher_list()
258 if (SSL_CIPHER_get_min_version(cipher) > hs->max_version || in ssl_write_client_cipher_list()
259 SSL_CIPHER_get_max_version(cipher) < hs->min_version) { in ssl_write_client_cipher_list()
269 if (!any_enabled && hs->max_version < TLS1_3_VERSION) { in ssl_write_client_cipher_list()
284 bool ssl_write_client_hello(SSL_HANDSHAKE *hs) { in ssl_write_client_hello() argument
285 SSL *const ssl = hs->ssl; in ssl_write_client_hello()
293 if (!CBB_add_u16(&body, hs->client_version) || in ssl_write_client_hello()
301 !CBB_add_bytes(&child, hs->session_id, hs->session_id_len)) { in ssl_write_client_hello()
314 if (!ssl_write_client_cipher_list(hs, &body) || in ssl_write_client_hello()
317 !ssl_add_clienthello_tlsext(hs, &body, header_len + CBB_len(&body))) { in ssl_write_client_hello()
328 if (hs->needs_psk_binder && in ssl_write_client_hello()
329 !tls13_write_psk_binder(hs, MakeSpan(msg))) { in ssl_write_client_hello()
336 static bool parse_supported_versions(SSL_HANDSHAKE *hs, uint16_t *version, in parse_supported_versions() argument
344 SSL *const ssl = hs->ssl; in parse_supported_versions()
379 static enum ssl_hs_wait_t do_start_connect(SSL_HANDSHAKE *hs) { in do_start_connect() argument
380 SSL *const ssl = hs->ssl; in do_start_connect()
387 if (!ssl_get_version_range(hs, &hs->min_version, &hs->max_version)) { in do_start_connect()
394 if (SSL_is_dtls(hs->ssl)) { in do_start_connect()
395 hs->client_version = in do_start_connect()
396 hs->max_version >= TLS1_2_VERSION ? DTLS1_2_VERSION : DTLS1_VERSION; in do_start_connect()
398 hs->client_version = in do_start_connect()
399 hs->max_version >= TLS1_2_VERSION ? TLS1_2_VERSION : hs->max_version; in do_start_connect()
406 !ssl_supports_version(hs, ssl->session->ssl_version) || in do_start_connect()
422 hs->session_id_len = ssl->session->session_id_length; in do_start_connect()
423 OPENSSL_memcpy(hs->session_id, ssl->session->session_id, in do_start_connect()
424 hs->session_id_len); in do_start_connect()
425 } else if (hs->max_version >= TLS1_3_VERSION) { in do_start_connect()
427 hs->session_id_len = sizeof(hs->session_id); in do_start_connect()
428 if (!RAND_bytes(hs->session_id, hs->session_id_len)) { in do_start_connect()
433 if (!ssl_write_client_hello(hs)) { in do_start_connect()
437 hs->state = state_enter_early_data; in do_start_connect()
441 static enum ssl_hs_wait_t do_enter_early_data(SSL_HANDSHAKE *hs) { in do_enter_early_data() argument
442 SSL *const ssl = hs->ssl; in do_enter_early_data()
445 hs->state = state_read_hello_verify_request; in do_enter_early_data()
449 if (!hs->early_data_offered) { in do_enter_early_data()
450 hs->state = state_read_server_hello; in do_enter_early_data()
460 hs, MakeConstSpan(ssl->session->master_key, in do_enter_early_data()
462 !tls13_derive_early_secret(hs) || in do_enter_early_data()
463 !tls13_set_early_secret_for_quic(hs)) { in do_enter_early_data()
468 hs->early_traffic_secret())) { in do_enter_early_data()
474 hs->early_session = UpRef(ssl->session); in do_enter_early_data()
475 hs->state = state_early_reverify_server_certificate; in do_enter_early_data()
479 static enum ssl_hs_wait_t do_early_reverify_server_certificate(SSL_HANDSHAKE *hs) { in do_early_reverify_server_certificate() argument
480 if (hs->ssl->ctx->reverify_on_resume) { in do_early_reverify_server_certificate()
481 switch (ssl_reverify_peer_cert(hs)) { in do_early_reverify_server_certificate()
487 hs->state = state_early_reverify_server_certificate; in do_early_reverify_server_certificate()
492 hs->in_early_data = true; in do_early_reverify_server_certificate()
493 hs->can_early_write = true; in do_early_reverify_server_certificate()
494 hs->state = state_read_server_hello; in do_early_reverify_server_certificate()
498 static enum ssl_hs_wait_t do_read_hello_verify_request(SSL_HANDSHAKE *hs) { in do_read_hello_verify_request() argument
499 SSL *const ssl = hs->ssl; in do_read_hello_verify_request()
509 hs->state = state_read_server_hello; in do_read_hello_verify_request()
530 if (!hs->transcript.Init()) { in do_read_hello_verify_request()
534 if (!ssl_write_client_hello(hs)) { in do_read_hello_verify_request()
538 hs->state = state_read_server_hello; in do_read_hello_verify_request()
542 static enum ssl_hs_wait_t do_read_server_hello(SSL_HANDSHAKE *hs) { in do_read_server_hello() argument
543 SSL *const ssl = hs->ssl; in do_read_server_hello()
568 if (!parse_supported_versions(hs, &server_version, &server_hello)) { in do_read_server_hello()
572 if (!ssl_supports_version(hs, server_version)) { in do_read_server_hello()
592 hs->state = state_tls13; in do_read_server_hello()
597 hs->key_shares[0].reset(); in do_read_server_hello()
598 hs->key_shares[1].reset(); in do_read_server_hello()
599 hs->key_share_bytes.Reset(); in do_read_server_hello()
604 if (hs->early_data_offered) { in do_read_server_hello()
616 ssl_supports_version(hs, TLS1_3_VERSION)) { in do_read_server_hello()
629 if (!hs->config->ignore_tls13_downgrade) { in do_read_server_hello()
648 if (hs->session_id_len != 0 && in do_read_server_hello()
649 CBS_mem_equal(&session_id, hs->session_id, hs->session_id_len)) { in do_read_server_hello()
658 if (!ssl_get_new_session(hs, 0 /* client */)) { in do_read_server_hello()
663 hs->new_session->session_id_length = CBS_len(&session_id); in do_read_server_hello()
664 OPENSSL_memcpy(hs->new_session->session_id, CBS_data(&session_id), in do_read_server_hello()
678 ssl_get_client_disabled(hs, &mask_a, &mask_k); in do_read_server_hello()
699 if (!ssl_session_is_context_valid(hs, ssl->session.get())) { in do_read_server_hello()
707 hs->new_session->cipher = cipher; in do_read_server_hello()
709 hs->new_cipher = cipher; in do_read_server_hello()
713 if (!hs->transcript.InitHash(ssl_protocol_version(ssl), hs->new_cipher) || in do_read_server_hello()
714 !ssl_hash_message(hs, msg)) { in do_read_server_hello()
723 !ssl_cipher_uses_certificate_auth(hs->new_cipher)) { in do_read_server_hello()
724 hs->transcript.FreeBuffer(); in do_read_server_hello()
735 if (!ssl_parse_serverhello_tlsext(hs, &server_hello)) { in do_read_server_hello()
749 hs->extended_master_secret != ssl->session->extended_master_secret) { in do_read_server_hello()
760 (!hs->extended_master_secret || !ssl->s3->send_connection_binding)) { in do_read_server_hello()
770 ssl_cipher_uses_certificate_auth(hs->new_cipher)) { in do_read_server_hello()
771 hs->state = state_reverify_server_certificate; in do_read_server_hello()
773 hs->state = state_read_session_ticket; in do_read_server_hello()
778 hs->state = state_read_server_certificate; in do_read_server_hello()
782 static enum ssl_hs_wait_t do_tls13(SSL_HANDSHAKE *hs) { in do_tls13() argument
783 enum ssl_hs_wait_t wait = tls13_client_handshake(hs); in do_tls13()
785 hs->state = state_finish_client_handshake; in do_tls13()
792 static enum ssl_hs_wait_t do_read_server_certificate(SSL_HANDSHAKE *hs) { in do_read_server_certificate() argument
793 SSL *const ssl = hs->ssl; in do_read_server_certificate()
795 if (!ssl_cipher_uses_certificate_auth(hs->new_cipher)) { in do_read_server_certificate()
796 hs->state = state_read_certificate_status; in do_read_server_certificate()
806 !ssl_hash_message(hs, msg)) { in do_read_server_certificate()
812 if (!ssl_parse_cert_chain(&alert, &hs->new_session->certs, &hs->peer_pubkey, in do_read_server_certificate()
818 if (sk_CRYPTO_BUFFER_num(hs->new_session->certs.get()) == 0 || in do_read_server_certificate()
820 !ssl->ctx->x509_method->session_cache_objects(hs->new_session.get())) { in do_read_server_certificate()
827 hs, hs->peer_pubkey.get(), in do_read_server_certificate()
828 sk_CRYPTO_BUFFER_value(hs->new_session->certs.get(), 0))) { in do_read_server_certificate()
835 hs->state = state_read_certificate_status; in do_read_server_certificate()
839 static enum ssl_hs_wait_t do_read_certificate_status(SSL_HANDSHAKE *hs) { in do_read_certificate_status() argument
840 SSL *const ssl = hs->ssl; in do_read_certificate_status()
842 if (!hs->certificate_status_expected) { in do_read_certificate_status()
843 hs->state = state_verify_server_certificate; in do_read_certificate_status()
855 hs->state = state_verify_server_certificate; in do_read_certificate_status()
859 if (!ssl_hash_message(hs, msg)) { in do_read_certificate_status()
875 hs->new_session->ocsp_response.reset( in do_read_certificate_status()
877 if (hs->new_session->ocsp_response == nullptr) { in do_read_certificate_status()
884 hs->state = state_verify_server_certificate; in do_read_certificate_status()
888 static enum ssl_hs_wait_t do_verify_server_certificate(SSL_HANDSHAKE *hs) { in do_verify_server_certificate() argument
889 if (!ssl_cipher_uses_certificate_auth(hs->new_cipher)) { in do_verify_server_certificate()
890 hs->state = state_read_server_key_exchange; in do_verify_server_certificate()
894 switch (ssl_verify_peer_cert(hs)) { in do_verify_server_certificate()
900 hs->state = state_verify_server_certificate; in do_verify_server_certificate()
904 hs->state = state_read_server_key_exchange; in do_verify_server_certificate()
908 static enum ssl_hs_wait_t do_reverify_server_certificate(SSL_HANDSHAKE *hs) { in do_reverify_server_certificate() argument
909 assert(hs->ssl->ctx->reverify_on_resume); in do_reverify_server_certificate()
911 switch (ssl_reverify_peer_cert(hs)) { in do_reverify_server_certificate()
917 hs->state = state_reverify_server_certificate; in do_reverify_server_certificate()
921 hs->state = state_read_session_ticket; in do_reverify_server_certificate()
925 static enum ssl_hs_wait_t do_read_server_key_exchange(SSL_HANDSHAKE *hs) { in do_read_server_key_exchange() argument
926 SSL *const ssl = hs->ssl; in do_read_server_key_exchange()
934 if (ssl_cipher_requires_server_key_exchange(hs->new_cipher)) { in do_read_server_key_exchange()
940 hs->state = state_read_certificate_request; in do_read_server_key_exchange()
944 if (!ssl_hash_message(hs, msg)) { in do_read_server_key_exchange()
948 uint32_t alg_k = hs->new_cipher->algorithm_mkey; in do_read_server_key_exchange()
949 uint32_t alg_a = hs->new_cipher->algorithm_auth; in do_read_server_key_exchange()
988 hs->peer_psk_identity_hint.reset(raw); in do_read_server_key_exchange()
1004 hs->new_session->group_id = group_id; in do_read_server_key_exchange()
1007 if (!tls1_check_group_id(hs, group_id)) { in do_read_server_key_exchange()
1014 hs->key_shares[0] = SSLKeyShare::Create(group_id); in do_read_server_key_exchange()
1015 if (!hs->key_shares[0] || in do_read_server_key_exchange()
1016 !hs->peer_key.CopyFrom(point)) { in do_read_server_key_exchange()
1033 if (ssl_cipher_uses_certificate_auth(hs->new_cipher)) { in do_read_server_key_exchange()
1046 hs->new_session->peer_signature_algorithm = signature_algorithm; in do_read_server_key_exchange()
1048 hs->peer_pubkey.get())) { in do_read_server_key_exchange()
1080 hs->peer_pubkey.get(), transcript_data)) { in do_read_server_key_exchange()
1098 hs->state = state_read_certificate_request; in do_read_server_key_exchange()
1102 static enum ssl_hs_wait_t do_read_certificate_request(SSL_HANDSHAKE *hs) { in do_read_certificate_request() argument
1103 SSL *const ssl = hs->ssl; in do_read_certificate_request()
1105 if (!ssl_cipher_uses_certificate_auth(hs->new_cipher)) { in do_read_certificate_request()
1106 hs->state = state_read_server_hello_done; in do_read_certificate_request()
1118 hs->transcript.FreeBuffer(); in do_read_certificate_request()
1119 hs->state = state_read_server_hello_done; in do_read_certificate_request()
1124 !ssl_hash_message(hs, msg)) { in do_read_certificate_request()
1136 if (!hs->certificate_types.CopyFrom(certificate_types)) { in do_read_certificate_request()
1144 !tls1_parse_peer_sigalgs(hs, &supported_signature_algorithms)) { in do_read_certificate_request()
1165 hs->cert_request = true; in do_read_certificate_request()
1166 hs->ca_names = std::move(ca_names); in do_read_certificate_request()
1167 ssl->ctx->x509_method->hs_flush_cached_ca_names(hs); in do_read_certificate_request()
1170 hs->state = state_read_server_hello_done; in do_read_certificate_request()
1174 static enum ssl_hs_wait_t do_read_server_hello_done(SSL_HANDSHAKE *hs) { in do_read_server_hello_done() argument
1175 SSL *const ssl = hs->ssl; in do_read_server_hello_done()
1182 !ssl_hash_message(hs, msg)) { in do_read_server_hello_done()
1194 hs->state = state_send_client_certificate; in do_read_server_hello_done()
1198 static enum ssl_hs_wait_t do_send_client_certificate(SSL_HANDSHAKE *hs) { in do_send_client_certificate() argument
1199 SSL *const ssl = hs->ssl; in do_send_client_certificate()
1202 if (!hs->cert_request) { in do_send_client_certificate()
1203 hs->state = state_send_client_key_exchange; in do_send_client_certificate()
1208 if (hs->config->cert->cert_cb != NULL) { in do_send_client_certificate()
1209 int rv = hs->config->cert->cert_cb(ssl, hs->config->cert->cert_cb_arg); in do_send_client_certificate()
1216 hs->state = state_send_client_certificate; in do_send_client_certificate()
1221 if (!ssl_has_certificate(hs)) { in do_send_client_certificate()
1223 hs->transcript.FreeBuffer(); in do_send_client_certificate()
1226 if (!ssl_on_certificate_selected(hs) || in do_send_client_certificate()
1227 !ssl_output_cert_chain(hs)) { in do_send_client_certificate()
1232 hs->state = state_send_client_key_exchange; in do_send_client_certificate()
1239 static enum ssl_hs_wait_t do_send_client_key_exchange(SSL_HANDSHAKE *hs) { in do_send_client_key_exchange() argument
1240 SSL *const ssl = hs->ssl; in do_send_client_key_exchange()
1249 uint32_t alg_k = hs->new_cipher->algorithm_mkey; in do_send_client_key_exchange()
1250 uint32_t alg_a = hs->new_cipher->algorithm_auth; in do_send_client_key_exchange()
1251 if (ssl_cipher_uses_certificate_auth(hs->new_cipher)) { in do_send_client_key_exchange()
1253 sk_CRYPTO_BUFFER_value(hs->new_session->certs.get(), 0); in do_send_client_key_exchange()
1266 EVP_PKEY_id(hs->peer_pubkey.get()) != EVP_PKEY_RSA) { in do_send_client_key_exchange()
1277 if (hs->config->psk_client_callback == NULL) { in do_send_client_key_exchange()
1284 psk_len = hs->config->psk_client_callback( in do_send_client_key_exchange()
1285 ssl, hs->peer_psk_identity_hint.get(), identity, sizeof(identity), psk, in do_send_client_key_exchange()
1294 hs->new_session->psk_identity.reset(BUF_strdup(identity)); in do_send_client_key_exchange()
1295 if (hs->new_session->psk_identity == nullptr) { in do_send_client_key_exchange()
1316 RSA *rsa = EVP_PKEY_get0_RSA(hs->peer_pubkey.get()); in do_send_client_key_exchange()
1322 pms[0] = hs->client_version >> 8; in do_send_client_key_exchange()
1323 pms[1] = hs->client_version & 0xff; in do_send_client_key_exchange()
1348 if (!hs->key_shares[0]->Accept(&child, &pms, &alert, hs->peer_key)) { in do_send_client_key_exchange()
1357 hs->key_shares[0].reset(); in do_send_client_key_exchange()
1358 hs->key_shares[1].reset(); in do_send_client_key_exchange()
1359 hs->peer_key.Reset(); in do_send_client_key_exchange()
1395 hs->new_session->master_key_length = in do_send_client_key_exchange()
1396 tls1_generate_master_secret(hs, hs->new_session->master_key, pms); in do_send_client_key_exchange()
1397 if (hs->new_session->master_key_length == 0) { in do_send_client_key_exchange()
1400 hs->new_session->extended_master_secret = hs->extended_master_secret; in do_send_client_key_exchange()
1402 hs->state = state_send_client_certificate_verify; in do_send_client_key_exchange()
1406 static enum ssl_hs_wait_t do_send_client_certificate_verify(SSL_HANDSHAKE *hs) { in do_send_client_certificate_verify() argument
1407 SSL *const ssl = hs->ssl; in do_send_client_certificate_verify()
1409 if (!hs->cert_request || !ssl_has_certificate(hs)) { in do_send_client_certificate_verify()
1410 hs->state = state_send_client_finished; in do_send_client_certificate_verify()
1414 assert(ssl_has_private_key(hs)); in do_send_client_certificate_verify()
1423 if (!tls1_choose_signature_algorithm(hs, &signature_algorithm)) { in do_send_client_certificate_verify()
1436 const size_t max_sig_len = EVP_PKEY_size(hs->local_pubkey.get()); in do_send_client_certificate_verify()
1444 switch (ssl_private_key_sign(hs, ptr, &sig_len, max_sig_len, in do_send_client_certificate_verify()
1446 hs->transcript.buffer())) { in do_send_client_certificate_verify()
1452 hs->state = state_send_client_certificate_verify; in do_send_client_certificate_verify()
1462 hs->transcript.FreeBuffer(); in do_send_client_certificate_verify()
1464 hs->state = state_send_client_finished; in do_send_client_certificate_verify()
1468 static enum ssl_hs_wait_t do_send_client_finished(SSL_HANDSHAKE *hs) { in do_send_client_finished() argument
1469 SSL *const ssl = hs->ssl; in do_send_client_finished()
1472 if (!ssl_do_channel_id_callback(hs)) { in do_send_client_finished()
1476 if (hs->config->channel_id_private == NULL) { in do_send_client_finished()
1477 hs->state = state_send_client_finished; in do_send_client_finished()
1483 !tls1_change_cipher_state(hs, evp_aead_seal)) { in do_send_client_finished()
1487 if (hs->next_proto_neg_seen) { in do_send_client_finished()
1510 !tls1_write_channel_id(hs, &body) || in do_send_client_finished()
1517 if (!ssl_send_finished(hs)) { in do_send_client_finished()
1521 hs->state = state_finish_flight; in do_send_client_finished()
1525 static bool can_false_start(const SSL_HANDSHAKE *hs) { in can_false_start() argument
1526 SSL *const ssl = hs->ssl; in can_false_start()
1544 hs->new_cipher->algorithm_mkey != SSL_kECDHE || in can_false_start()
1545 hs->new_cipher->algorithm_mac != SSL_AEAD || in can_false_start()
1563 static enum ssl_hs_wait_t do_finish_flight(SSL_HANDSHAKE *hs) { in do_finish_flight() argument
1564 SSL *const ssl = hs->ssl; in do_finish_flight()
1566 hs->state = state_finish_client_handshake; in do_finish_flight()
1573 if (!tls1_record_handshake_hashes_for_channel_id(hs)) { in do_finish_flight()
1577 hs->state = state_read_session_ticket; in do_finish_flight()
1580 can_false_start(hs) && in do_finish_flight()
1583 hs->in_false_start = true; in do_finish_flight()
1584 hs->can_early_write = true; in do_finish_flight()
1591 static enum ssl_hs_wait_t do_read_session_ticket(SSL_HANDSHAKE *hs) { in do_read_session_ticket() argument
1592 SSL *const ssl = hs->ssl; in do_read_session_ticket()
1594 if (!hs->ticket_expected) { in do_read_session_ticket()
1595 hs->state = state_process_change_cipher_spec; in do_read_session_ticket()
1605 !ssl_hash_message(hs, msg)) { in do_read_session_ticket()
1623 hs->ticket_expected = false; in do_read_session_ticket()
1625 hs->state = state_process_change_cipher_spec; in do_read_session_ticket()
1629 SSL_SESSION *session = hs->new_session.get(); in do_read_session_ticket()
1665 hs->state = state_process_change_cipher_spec; in do_read_session_ticket()
1669 static enum ssl_hs_wait_t do_process_change_cipher_spec(SSL_HANDSHAKE *hs) { in do_process_change_cipher_spec() argument
1670 if (!tls1_change_cipher_state(hs, evp_aead_open)) { in do_process_change_cipher_spec()
1674 hs->state = state_read_server_finished; in do_process_change_cipher_spec()
1678 static enum ssl_hs_wait_t do_read_server_finished(SSL_HANDSHAKE *hs) { in do_read_server_finished() argument
1679 SSL *const ssl = hs->ssl; in do_read_server_finished()
1680 enum ssl_hs_wait_t wait = ssl_get_finished(hs); in do_read_server_finished()
1686 hs->state = state_send_client_finished; in do_read_server_finished()
1690 hs->state = state_finish_client_handshake; in do_read_server_finished()
1694 static enum ssl_hs_wait_t do_finish_client_handshake(SSL_HANDSHAKE *hs) { in do_finish_client_handshake() argument
1695 SSL *const ssl = hs->ssl; in do_finish_client_handshake()
1706 SSL_SESSION_dup(hs->new_session.get(), SSL_SESSION_DUP_ALL); in do_finish_client_handshake()
1715 hs->new_session.reset(); in do_finish_client_handshake()
1718 hs->handshake_finalized = true; in do_finish_client_handshake()
1720 ssl_update_cache(hs, SSL_SESS_CACHE_CLIENT); in do_finish_client_handshake()
1722 hs->state = state_done; in do_finish_client_handshake()
1726 enum ssl_hs_wait_t ssl_client_handshake(SSL_HANDSHAKE *hs) { in ssl_client_handshake() argument
1727 while (hs->state != state_done) { in ssl_client_handshake()
1730 static_cast<enum ssl_client_hs_state_t>(hs->state); in ssl_client_handshake()
1733 ret = do_start_connect(hs); in ssl_client_handshake()
1736 ret = do_enter_early_data(hs); in ssl_client_handshake()
1739 ret = do_early_reverify_server_certificate(hs); in ssl_client_handshake()
1742 ret = do_read_hello_verify_request(hs); in ssl_client_handshake()
1745 ret = do_read_server_hello(hs); in ssl_client_handshake()
1748 ret = do_tls13(hs); in ssl_client_handshake()
1751 ret = do_read_server_certificate(hs); in ssl_client_handshake()
1754 ret = do_read_certificate_status(hs); in ssl_client_handshake()
1757 ret = do_verify_server_certificate(hs); in ssl_client_handshake()
1760 ret = do_reverify_server_certificate(hs); in ssl_client_handshake()
1763 ret = do_read_server_key_exchange(hs); in ssl_client_handshake()
1766 ret = do_read_certificate_request(hs); in ssl_client_handshake()
1769 ret = do_read_server_hello_done(hs); in ssl_client_handshake()
1772 ret = do_send_client_certificate(hs); in ssl_client_handshake()
1775 ret = do_send_client_key_exchange(hs); in ssl_client_handshake()
1778 ret = do_send_client_certificate_verify(hs); in ssl_client_handshake()
1781 ret = do_send_client_finished(hs); in ssl_client_handshake()
1784 ret = do_finish_flight(hs); in ssl_client_handshake()
1787 ret = do_read_session_ticket(hs); in ssl_client_handshake()
1790 ret = do_process_change_cipher_spec(hs); in ssl_client_handshake()
1793 ret = do_read_server_finished(hs); in ssl_client_handshake()
1796 ret = do_finish_client_handshake(hs); in ssl_client_handshake()
1803 if (hs->state != state) { in ssl_client_handshake()
1804 ssl_do_info_callback(hs->ssl, SSL_CB_CONNECT_LOOP, 1); in ssl_client_handshake()
1812 ssl_do_info_callback(hs->ssl, SSL_CB_HANDSHAKE_DONE, 1); in ssl_client_handshake()
1816 const char *ssl_client_handshake_state(SSL_HANDSHAKE *hs) { in ssl_client_handshake_state() argument
1818 static_cast<enum ssl_client_hs_state_t>(hs->state); in ssl_client_handshake_state()
1831 return tls13_client_handshake_state(hs); in ssl_client_handshake_state()