Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se proporcionan soluciones a errores de autenticación que se producen con aplicaciones integradas de Microsoft Entra destinadas a versiones anteriores a Microsoft .NET Framework 4.7.
Síntomas
Las aplicaciones que usan una versión anterior de .NET Framework pueden encontrar errores de autenticación con uno de los siguientes mensajes de error:
-
AADSTS1002016: Está utilizando la versión de TLS 1.0, 1.1 y/o el cifrado 3DES, que están en desuso para mejorar la postura de seguridad de Azure AD.
-
IDX20804: No se puede recuperar el documento de: '[PII está oculto]'
-
IDX20803: No se puede obtener la configuración desde: '[PII está oculto]'
-
IDX10803: No se puede crear y obtener la configuración de: 'https://login.microsoftonline.com/{Tenant-ID}/.well-known/openid-configuration'
-
IDX20807: No se puede recuperar el documento de: "System.String".
-
System.Net.Http.Headers.HttpResponseHeaders RequestMessage {Método: POST, RequestUri: '<request-uri>', Versión: 1.1, Contenido: System.Net.Http.FormUrlEncodedContent, Headers: { Content-Type: application/x-www-form-urlencoded Content-Length: 970 }} System.Net.Http.HttpRequestMessage StatusCode UpgradeRequired Este servicio requiere el uso del protocolo TLS-1.2.
Causa
A partir del 31 de enero de 2022, Microsoft aplicó el uso del protocolo TLS 1.2 para las aplicaciones cliente que se conectan a los servicios de Microsoft Entra en la Plataforma de identidad de Microsoft para garantizar el cumplimiento de los estándares de seguridad y del sector. Para obtener más información sobre este cambio, consulte Habilite la compatibilidad con TLS 1.2 en su entorno debido a la retirada de TLS 1.1 y 1.0 de Microsoft Entra y ¡Actúe rápidamente para asegurar su infraestructura trasladándose a TLS 1.2!
Es posible que las aplicaciones que se ejecutan en plataformas anteriores o que usen versiones anteriores de .NET Framework no tengan habilitado TLS 1.2. Por lo tanto, no pueden recuperar el documento de metadatos de OpenID Connect, lo que da como resultado un error de autenticación.
Solución 1: Actualización de .NET Framework
Actualice la aplicación para que use .NET Framework 4.7 o posterior, donde TLS 1.2 está habilitado de forma predeterminada.
Solución 2: Habilitación de TLS 1.2 mediante programación
Si la actualización de .NET Framework no es factible, puede habilitar TLS 1.2 agregando el código siguiente al archivo Global.asax.cs de la aplicación:
using System.Net;
protected void Application_Start()
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3; // only allow TLS 1.2 and SSL 3
// The rest of your startup code goes here
}
Solución 3: Cambio de web.config para habilitar TLS 1.2
Si .NET Framework 4.7.2 está disponible, puede habilitar TLS 1.2 agregando la siguiente configuración al archivo web.config :
<system.web>
<httpRuntime targetFramework="4.7.2" />
</system.web>
Nota:
Si el uso de .NET Framework 4.7.2 provoca cambios importantes en la aplicación, es posible que esta solución no funcione.
Solución 4: Habilitar TLS 1.2 antes de ejecutar comandos de PowerShell
Si encuentra el error AADSTS1002016 al ejecutar el comando Connect-MSolService
de PowerShell , Connect-AzureAD
o Connect-MSGraph
(desde el módulo del SDK de PowerShell de Microsoft Intune), establezca el protocolo de seguridad en TLS 1.2 antes de ejecutar los comandos:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Referencias
Procedimientos recomendados de seguridad de la capa de transporte (TLS) con .NET Framework
Ponte en contacto con nosotros para obtener ayuda
Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto a la comunidad de comentarios de Azure.