Как правильно считать finished handshake в tls? Несколько месяцев работаю над реализацией dtls на pure js на ноде. Шифрование и отправка / приём сообщений работает. Пока я реализовал клиента, и сервер взял из openssl. Сервер принимает мой finished handshake и пишет, что соединение установлено. Но в ответ он присылает свой finished handshake, я пытаюсь его посчитать с label = `server finished`, но он не совпадает! В спецификации написано, что от финального handshake не нужно считать hash, а только от всех handshake до Change Cipher Spec. И не включить обмен куками до HelloVerifyRequest. Я так и делаю, сервер принимает мой хэш, все мастер, премастер ключи, рандомы совпадают, но подтвердить его хэш не могу. Может я что то не улавливаю в спеке?dtls:parser got finished data f16e6b43c260ec8106ec76e5 +0ms // присланный сервером хэш dtls:parser client finished 717a10da47d4880bc2665499 +1ms // мой хэш, принятый dtls:parser server finished d73da8a604f5bc6a51c3eb20 +0ms // вычисленный мной серверный хэш Сорцы тут https://github.com/nodertc/dtls
Похоже, что у вас проблема с правильным вычислением хэша для серверного finished handshake. Возможно, вы упускаете какой-то шаг или включаете лишние данные в расчёт хэша.
Пожалуйста, убедитесь, что вы правильно выполняете все шаги, описанные в спецификации. Убедитесь также, что все данные, которые вам нужно включить в расчёт хэша, правильно представлены и преобразованы.
Если после внимательной проверки вы по-прежнему не можете совпадать хэш, попробуйте обратиться за помощью на специализированные форумы или ресурсы, посвящённые TLS/DTLS. Там вам могут помочь опытные специалисты разобраться в вашей проблеме более детально.
Похоже, что у вас проблема с правильным вычислением хэша для серверного finished handshake. Возможно, вы упускаете какой-то шаг или включаете лишние данные в расчёт хэша.
Пожалуйста, убедитесь, что вы правильно выполняете все шаги, описанные в спецификации. Убедитесь также, что все данные, которые вам нужно включить в расчёт хэша, правильно представлены и преобразованы.
Если после внимательной проверки вы по-прежнему не можете совпадать хэш, попробуйте обратиться за помощью на специализированные форумы или ресурсы, посвящённые TLS/DTLS. Там вам могут помочь опытные специалисты разобраться в вашей проблеме более детально.