Ich bin mit SChannel im Moment für eine Asynchron (IOCP) basierte Server arbeiten, und ich habe die meisten Dinge arbeiten gut bekommen, aber ich habe ein Problem mit Neuverhandlung hat. Insbesondere, wenn Peer A Peer B sendet, antwortet eine Anfrage zum Neuaushandeln und Peer B antwortet mit einem TLS1 NO RENEGOTIATION
Alert. Wie geht Peer A weiter? Ich scheine einen ungültigen Kontext an dem Punkt, wo ich die SEC_I_NO_RENEGOTIATION
Antwort erhalten, und dies hindert mich daran, in der Lage, auch weiterhin den Stream verwenden ...Umgang mit SEC_I_RENEGOTIATE und TLS1_ALERT_NO_RENEGOTIATION in SChannel
aktualisierte Ich habe einige Tests gemacht und es doesn‘ t scheint ein ungültiger Kontext zu sein, aber ich bekomme SEC_E_ENCRYPT_FAILURE
aus dem nächsten Anruf zu verschlüsseln ...
Ist eine Anfrage neu verhandeln tatsächlich ablehnbar? Oder ist NO RENEGOTIATION
Alarm einfach eine informative Fehlermeldung, die jetzt bedeutet, dass die Verbindung nutzlos ist? Wenn ja, warum wird es als "Warnung" und nicht als "Fehler" bezeichnet? Nee; die TLS RFC (5246) stellt klar, dass sein bis zu dem Peer-entscheiden, ob wir nach einer Neuverhandlung Alarm weiter ...
aktualisiert Es macht keinen Unterschied, ob ich die TLS-Benachrichtigung ApplyControlToken()
...or if I send it using EncryptMessage()
senden mit SECQOP_WRAP_OOB_DATA
(. Für die Nachwelt) Es scheint, die Menschen auf dem Chromium-Team [haben das gleiche Problem] (http://code.google.com/p/chromium/issues/detail? id = 36835) und sie verlinken auf dieses Problem. –
Ich hätte lieber, sie hätten eine Lösung gefunden;) –