Preguntas frecuentes

¿Cuáles son las implicaciones para las aplicaciones cliente de ArcObjects SDK for the Microsoft .NET Framework y ArcGIS Engine .NET al imponer las conexiones solo con TLS 1.2?

Last Published: April 25, 2020

Respuesta

Esri planea que las conexiones TLS 1.2 para los servicios de ArcGIS Online sean obligatorias a partir del 16 de abril de 2019. Cuando entren en vigor las conexiones a recursos de ArcGIS Online solo con TLS 1.2, deberá tener en cuenta varias consideraciones al crear nuevas aplicaciones de ArcObjects SDK for the Microsoft .NET Framework (incluido ArcGIS Engine for .NET) o al ejecutar aplicaciones ya existentes. En la versión 10.7, el software de escritorio ya está configurado para utilizar TLS 1.2 y no se requiere ninguna acción para habilitar TLS 1.2.

Si sus aplicaciones cliente creadas con ArcObjects .NET heredados (incluidas aplicaciones de Engine) que utilizan conexiones entrantes a ArcGIS no tienen habilitado TLS 1.2 y una vez efectuado el cambio a solo TLS 1.2, puede que sus integraciones sufran disrupción.

Puede realizar los siguientes cambios en aplicaciones de ArcObjects .NET y Engine creadas con versiones de .NET anteriores a la 4.6:

  1. Vuelva a compilar la aplicación en .NET Framework 4.6 o versiones posteriores para habilitar TLS 1.2, ya que la versión 4.6 es compatible con TLS 1.2 de forma predeterminada (no se necesita cambio de código).
  2. Las aplicaciones de .NET de la versión 4.5.x admiten el protocolo TLS 1.2, pero no como el predeterminado, ni siquiera aunque el entorno del SO esté establecido en TLS 1.2. Se requiere un cambio de código manual, como se explica en la página 9 de Compatibilidad entre SSL/TLS y la plataforma ArcGIS e información sobre la configuración. Consulte la nota siguiente para ver un ejemplo de cómo definir este valor en la aplicación.
  3. Las aplicaciones de .NET de la versión 4.0 no habilitan TLS 1.2 de forma predeterminada. Para habilitar TLS 1.2 de forma predeterminada, puede instalar .NET Framework 4.5 o versiones más recientes y establecer en 1 el valor de SchUseStrongCrypto DWORD en estas dos claves de registro, creándolas si aún no existen:
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 y
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework \v4.0.30319
      Sin embargo, es posible que estas claves de registro habiliten TLS 1.2 de forma predeterminada en todas las aplicaciones de .NET 4.0, 4.5, 4.5.1 y 4.5.2 instaladas en ese sistema. Le recomendamos que pruebe este cambio antes de implementarlo en sus servidores de producción. No obstante, estos valores de registro no afectarán a las aplicaciones de .NET que tengan definido el valor System.Net.ServicePointManager.SecurityProtocol.
Nota:
Las aplicaciones de .NET pueden habilitar directamente TLS 1.2 definiendo System.Net.ServicePointManager.SecurityProtocol para habilitar SecurityProtocolType.Tls12, como se muestra en el siguiente ejemplo.
Ejemplo (C#):
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

Encontrará más recursos para realizar la transición a TLS 1.2 en la plataforma Esri en las páginas Actualizaciones importantes para la compatibilidad con la plataforma ArcGIS y el protocolo Transport Layer Security (TLS), incluidas referencias a documentos de desarrollador de Microsoft y el equipo de Seguridad de productos de Esri.

HTTP
En lo que respecta al uso de HTTP en aplicaciones heredadas, tenga en cuenta que, con una próxima actualización de seguridad de ArcGIS Online, todas las organizaciones deben utilizar solo HTTPS, ya que se está convirtiendo en una práctica habitual del sector.

Es posible que aplicaciones de ArcObjects .NET que anteriormente funcionaban con HTTP experimenten errores de certificado con HTTPS, ya que los equipos cliente no disponen de los certificados pertinentes en sus almacenes de certificados. Por tanto, debe configurar los equipos cliente en consecuencia (por ejemplo, agregar los certificados pertinentes a los almacenes de certificados). A efectos de pruebas y desarrollo, es posible crear certificados de servidor "de prueba". Así, los desarrolladores pueden probar su código cliente en un servidor de prueba que solo admite HTTPS sin requerir un certificado de una autoridad certificadora. Se trata de algo habitual en situaciones de intranet.

Para obtener más información sobre TLS 1.2, consulte el documento de Soporte técnico de Esri: Actualizaciones importantes para la compatibilidad con la plataforma ArcGIS y el protocolo Transport Layer Security (TLS)

Id. de artículo:000019966

Obtener ayuda de expertos en ArcGIS

Contactar con soporte técnico

Descargar la aplicación de soporte de Esri

Ir a las opciones de descarga

Descubrir más sobre este tema