Я работаю с SChannel на данный момент для сервера async (IOCP), и у меня есть все, что работает нормально, но у меня проблема с пересмотром. В частности, когда одноранговый узел A отправляет одноранговую связь B, запрос на перезаключение и одноранговое соединение B отвечает сообщением TLS1 NO RENEGOTIATION
, как можно продолжить сверстник A? Я, кажется, имеет недопустимый контекст в точке, где я получаю SEC_I_NO_RENEGOTIATION
ответ, и это мешает мне быть в состоянии продолжать использовать поток ...Работа с SEC_I_RENEGOTIATE и TLS1_ALERT_NO_RENEGOTIATION в SChannel
Обновлен Я сделал еще несколько тестов, и это Безразлично» t, похоже, является недопустимым контекстом, но я получаю SEC_E_ENCRYPT_FAILURE
со следующего вызова Encrypt ...
Является ли запрос на повторное обсуждение фактически отрицаемым? Или NO RENEGOTIATION
предупреждает просто информативное сообщение об ошибке, которое теперь означает, что соединение бесполезно? Если да, то почему это прокомментировано как «предупреждение», а не «ошибка»? Неа; RFC, TLS (5246) четко сказано, что его до партнера, чтобы решить, можем ли мы продолжать после повторных переговоров не дремали ...
Обновлено Это не имеет никакого значения, если я отправить уведомление TLS с использованием ApplyControlToken()
...or if I send it using EncryptMessage()
с SECQOP_WRAP_OOB_DATA
(. Для потомков) Кажется, что люди в команде Chromium [имеют те же проблемы] (http://code.google.com/p/chromium/issues/detail? id = 36835), и они ссылаются на эту проблему. – 2011-08-03 17:53:21
Я бы предпочел, чтобы они нашли решение;) – 2011-08-03 18:07:04