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