возможно ли сначала выполнить успешное рукопожатие, а затем намеренно не отправлять сертификат сервера со стороны сервера?

#android #ssl #https #certificate #handshake

#Android #ssl #https #сертификат #рукопожатие

Вопрос:

возможно ли сначала создать ServerHello, чтобы рукопожатие клиент / сервер прошло успешно, а затем заставить сервер намеренно не отправлять свой сертификат CA, чтобы клиент не получил сертификат сервера. Есть ли такой способ / скрипт для этого с помощью mitmproxy?

Ответ №1:

Рукопожатие TLS не выполняется при отправке ServerHello. Рукопожатие TLS выполняется только при отправке Finished обоими одноранговыми узлами. Аутентификация сервера является неотъемлемой частью рукопожатия TLS.

Невозможно успешно завершить рукопожатие TLS, когда используемый шифр требует сертификат сервера, но затем не отправляет сертификат. Однако можно использовать шифр, который в первую очередь не требует сертификата сервера. Но эти шифры не поддерживаются общим клиентом и сервером, и при попытке применить эти шифры у какого-то человека посередине рукопожатие завершится неудачно из-за отсутствия общих шифров.