2008-10-21 18 views
5

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 ...

+1

(. 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. –

+0

Preferiría que hubieran encontrado una solución;) –

Respuesta

0

Puede ser esto lo ayudará: Code Project: SSLSocket.

+0

Parece que es simplemente una envoltura simple alrededor del código de ejemplo de la plataforma SDK. :( –

1

Hace un tiempo se emitió un HOTFIX para hardware basado en Intel AMT. Esencialmente, el certificado raíz se almacenó como un hash SHA-1 en lugar de almacenar en caché todo el certificado. SSPI pasa todos los certificados EXCEPTO la raíz, esperando que la raíz tenga este certificado para la verificación de la cadena de confianza. Cuando la raíz completa no existía, SSPI estaba forzando una renegociación.

La revisión actualiza schannel en sistemas Win 2003 con Intel AMT instalado.

Control hacia fuera este KB: http://support.microsoft.com/kb/942841

+0

Sin embargo, la situación que describo está tanto en Vista como en Windows 7 y no incluye de ninguna manera las cosas de Intel AMT ... No veo cómo esto es relevante, pero entonces quizás no entiendo? –

+0

No, no mencionó eso. Tiene razón, no es relevante para su situación. Tal vez, ayudará a otra persona. –

Cuestiones relacionadas