Estoy trabajando con SChannel en este momento para un servidor asincrónico (IOCP) y tengo la mayoría de las cosas funcionando bien pero estoy teniendo un problema con la renegociación. Específicamente, cuando el par A envía al par B una solicitud para renegociar y el par B responde con una alerta TLS1 NO RENEGOTIATION
¿cómo continúa el par A? Me parecen tener un contexto no válido en el punto donde consigo la respuesta SEC_I_NO_RENEGOTIATION
y esto impide que yo sea capaz de seguir utilizando la corriente ...Tratando con SEC_I_RENEGOTIATE y TLS1_ALERT_NO_RENEGOTIATION en SChannel
Actualizado que he hecho algunas pruebas más y que doesn' t parece ser un contexto no válido pero obtengo SEC_E_ENCRYPT_FAILURE
desde la siguiente llamada a Cifrar ...
¿Es una solicitud de renegociación realmente denegable? ¿O es NO RENEGOTIATION
alert simplemente un mensaje de error informativo que ahora significa que la conexión es inútil? Si es así, ¿por qué se comenta como una "advertencia" en lugar de un "error"? Nop el RFC TLS (5246) establece claramente que su hasta el punto a decidir si podemos continuar después de una renegociación ninguna alerta ...
Actualizado No hace ninguna diferencia si envío la alerta TLS utilizando ApplyControlToken()
...or if I send it using EncryptMessage()
con SECQOP_WRAP_OOB_DATA
(. Para la posteridad) Parece que la gente en el equipo de cromo [tener el mismo problema] (http://code.google.com/p/chromium/issues/detail? id = 36835) y se relacionan con este problema. –
Preferiría que hubieran encontrado una solución;) –