Compartir a través de


Apagar una conexión Schannel

Cuando un cliente o servidor finaliza con una conexión, debe apagarlo. La otra parte, a su vez, debe reconocer el apagado y eliminar la conexión.

Para apagar una conexión Schannel

  1. Llame a la función ApplyControlToken y especifique el token de control de SCHANNEL_SHUTDOWN.
  2. Después de recibir un valor devuelto SEC_E_OK de ApplyControlToken, llame a la función InitializeSecurityContext (Schannel) (clientes) o AcceptSecurityContext (Schannel) ( servidores), pasando búferes vacíos.
  3. Continúe como si la aplicación estuviera creando una nueva conexión hasta que la función devuelva SEC_I_CONTEXT_EXPIRED o SEC_E_OK para indicar que la conexión está apagada.
  4. Envíe la información de salida final, si existe, a la parte remota.
  5. Llame a DeleteSecurityContext para liberar recursos mantenidos por la conexión.

Reconocimiento de un apagado

La función DecryptMessage (Schannel) devuelve SEC_I_CONTEXT_EXPIRED cuando el remitente del mensaje ha apagado la conexión. Después de recibir este valor devuelto, siga el procedimiento Para apagar una conexión Schannel, anteriormente en este tema.