В TLS 1.3 серверы отправляют свои сертификаты в зашифрованном виде .
В TLS 1.3 клиент и сервер обмениваются ключами в самом начале: клиент отправляет свой выбор в ClientHello, а сервер отправляет свой key_share
в ServerHello. Все после ServerHello зашифровано.
Это резко отличается от SSL / TLS до TLS 1.3, где обмен ключами происходил ПОСЛЕ аутентификации. В SSL и TLS сертификаты 1-1.2 были отправлены в виде простого текста.
Если вы откроете RF C 8446 на странице , вы увидите диаграмму обмена сообщениями. Пожалуйста, найдите сообщение на сервере {Certificate*}
. Обозначение {*}
означает:
- звездочка (*) указывает, что это необязательное сообщение,
- фигурные скобки
{}
указывают, что сообщения защищены с использованием ключей, полученных из [sender] _handshake_traffic_secret
Более формально RF C 8446 В разделе 4.4 указывается :
Как обсуждалось в Раздел 2, TLS обычно использует общий набор сообщений для аутентификации, подтверждения ключа и целостности рукопожатия: Certificate, CertificateVerify и Finished. ... Эти сообщения зашифрованы ключами, полученными из [sender] _handshake_traffic_secret.