es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo desencriptar el encabezado de autorización al utilizar autenticación de Windows sobre SSL en Delphi 10.3?

Tengo una aplicación básica de “Servidor Web” creada yendo a Archivo > Nuevo > Aplicación de Servidor Web y seleccionando Biblioteca de Enlaces Dinámicos ISAPI, que estoy utilizando para probar la Autenticación de Windows cuando se ejecuta dentro de IIS.

Tengo código que lee la propiedad TWebRequest.Authorization y decodifica la cadena que se envía desde IIS (que normalmente es Negotiate xxxxxxxxxxxx…). Todo esto funciona cuando se ejecuta el sitio sin SSL. Puedo extraer el nombre de usuario, contraseña, dominio y nombre de la estación de trabajo del Mensaje Tipo3 según lo descrito en http://davenport.sourceforge.net/ntlm.html#type3MessageExample.

Cuando SSL está habilitado, parece que la cadena está de alguna manera más encriptada y obtengo un montón de datos en mi código, lo cual funciona cuando SSL no está habilitado.

¿Alguien podría decirme qué podría estar pasando por alto? No he publicado ningún código (pero puedo hacerlo) ya que sospecho que esto no es específico de mi código, sino algo relacionado con SSL del cual no estoy al tanto. Y buscar respuestas sobre esto ha sido un tanto infructuoso, ya que desconozco la terminología correcta para obtener las respuestas correctas.

No busco tanto una “aquí está la respuesta”, sino una indicación en la dirección correcta sería muy apreciada.

Cuando no se utiliza SSL, el valor Negotiate es: ‘Negotiate TlRMTVNT….
Cuando se utiliza SSL, el valor Negotiate es: ‘Negotiate oXcwdaADCgEBo……

Nota: En la versión sin SSL, la cadena comienza con TlRMTVNT, esto es lo que esperaría, ya que es la firma Base64Encoded de NTMLSSP.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que cuando SSL está habilitado, el valor de “Negotiate” enviado desde IIS se encripta aún más. Es posible que SSL esté utilizando un algoritmo o método de encripción diferente que no se está teniendo en cuenta en el código que decodifica el Mensaje de Tipo 3. Para resolver este problema, puede ser necesario investigar y comprender cómo SSL encripta los datos y cómo puede afectar el proceso de decodificación. Además, verificar la configuración de SSL para la aplicación del servidor web y asegurarse de que esté correctamente configurada también puede ayudar a resolver este problema. También sería útil publicar el código relevante para identificar cualquier problema potencial con el código en sí.

Comments are closed.