TLS handshake завершается неудачно после использования нового сертификата - PullRequest
0 голосов
/ 10 ноября 2010

Я пытаюсь открыть безопасный сокет, используя протокол TLS. Глядя на записи, отправленные между клиентом и сервером, я могу пройти через ClientHello, ServerHello, Certificate (server), ServerHelloDone, ClientKeyExchange и ChangeCipherSpec (client). Однако сервер не может расшифровать сообщение о завершении клиента. Затем происходит обмен некоторыми обычными сообщениями TCP: сначала запись, отправленная с сервера с флагом «Завершено», затем две записи, отправленные с клиента, вторая с флагом «Завершено», а затем еще одна запись, отправленная с сервера.

Эта настройка работала, но я недавно изменил сертификат сервера. Учитывая это, я ожидал, что рукопожатие потерпит неудачу после записи сертификата, а не при попытке расшифровать первый фрагмент зашифрованных данных. Является ли эта ошибка ручной работы свидетельством о неподтвержденном сертификате? Если нет, что это может указывать? Я не получил никаких предупреждений.

1 Ответ

0 голосов
/ 10 ноября 2010

Если бы я сделал дикое предположение, я бы предположил, что проблема полностью на стороне сервера. Я предполагаю, что вы не правильно изменили закрытый ключ вместе с открытым ключом (сертификатом), и сервер пытается расшифровать его старым закрытым ключом. Я считаю, что последовательность сообщений TLS, которую вы описываете, соответствует этому сценарию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...