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.

Problema de certificado en LogoutResponse de Azure AD.

Como proveedor de servicios, estamos utilizando el paquete “ITfoxtec Identity Saml2” para manejar SAML2.0. Tenemos dos integraciones que utilizan AzureAD como IDP. Ambas tienen un problema para manejar el LogoutResponse de Azure. Se produce la siguiente excepción:

System.IdentityModel.Tokens.SecurityTokenValidationException: Error al construir la cadena de certificados CN=Microsoft Azure Federated SSO Certificate. El certificado que se utilizó tiene una cadena de confianza que no se puede verificar. Reemplace el certificado o cambie el certificateValidationMode. Se procesó una cadena de certificados, pero se terminó en un certificado raíz que no es confiable para el proveedor de confianza.

La única forma de evitar este problema es establecer:

Saml2Configuration.CertificateValidationMode = System.ServiceModel.Security.X509CertificateValidationMode.None;

Pero según entiendo, esto desactivará toda la validación de certificados, incluso al manejar el AuthnRequest.

¿Alguna idea de cómo evitar este problema?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en SAML-2.0 y el paquete ITfoxtec Identity Saml2, sugeriría la siguiente solución alternativa para el problema enfrentado por el Proveedor de Servicios al manejar el LogoutResponse de Azure:

    • Verificar si el certificado X.509 utilizado por AzureAD como IDP es válido y está actualizado. Si no lo es, obtener un nuevo certificado válido de AzureAD.
    • Si el certificado es válido, verificar si está correctamente instalado y confiable por el sistema local donde se está ejecutando la aplicación del Proveedor de Servicios.
    • Si el certificado es confiable, verificar si el nombre del emisor del certificado coincide con el nombre del emisor de la Respuesta SAML enviada por AzureAD.
    • Si se han seguido todos los pasos anteriores, intentar cambiar el modo de validación del certificado a:

    Saml2Configuration.CertificateValidationMode = System.ServiceModel.Security.X509CertificateValidationMode.ChainTrust;

    Esto verificará la cadena de confianza del certificado recibido y seguirá validando el AuthnRequest.

    Si el problema persiste, se recomienda buscar asistencia técnica adicional o contactar el soporte de Azure.

Comments are closed.