página delanteraTutoriales de softwareRazones y soluciones para "Solicitud cancelada: no se pudo crear el canal seguro SSL/TLS"
Razones y soluciones para "Solicitud cancelada: no se pudo crear el canal seguro SSL/TLS"

Descripción: Solicitud abortada: no se pudo crear el canal seguro SSL/TLS. No se pudo crear un canal seguro SSL/TLS. Plataformas de compilación: Windows Server 2012, Windows 7 Service Pack 1 (SP1) y Windows Server 2008 R2 SP1

[episodio] descarga del sitio web Es una herramienta de descarga de todo el sitio. Ingrese la URL para descargar con un solo clic. Es simple y fácil de usar y tiene tareas de subprocesos múltiples.

Solución 1: nivel de código

Establecer código antes de HttpWebRequest

ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;

Solución 2: nivel del sistema

Si el método anterior no funciona, es un problema a nivel del sistema. Actualice el parche del sistema según el sistema que esté utilizando actualmente.

Actualización para habilitar TLS 1.1 y TLS 1.2 como protocolos de seguridad predeterminados en WinHTTP en Windows; esta actualización brinda soporte para Transport Layer Security (TLS) en Windows Server 2012, Windows 7 Service Pack 1 (SP1) y Windows Server 2008 R2 SP1 1.1. y compatibilidad con TLS 1.2, consulte la documentación oficial https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-default-secure-protocols-in-wi

Parche de actualización KB3140245

Habilite TLS 1.1 y 1.2 en Windows 7 en el nivel del componente SChannel (con cualquiera de las actualizaciones a continuación)

Método 1: utilice el paquete de instalación de actualizaciones de Microsoft para actualizar MicrosoftEasyFix51044.msi
Método 2: actualizar manualmente el registro

Copie el siguiente código de registro e impórtelo al registro. Cree un nuevo txt, cambie el sufijo txt a reg (clave de registro) e importe (haga una copia de seguridad antes de importar)

WIN7 64
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000a00 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000a00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings] "SecureProtocols"=dword:00000a80 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] "SecureProtocols"=dword:00000a80
Windows Server
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000800 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp] "DefaultSecureProtocols"=dword:00000800 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001

Verifique si el sistema es compatible con TLS1.2, TLS1.3

Se abre PowerShell:

[Net.ServicePointManager]::SecurityProtocol [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Ssl3 -bor [Net.SecurityProtocolType]::Tls -bor [Net.SecurityProtocolType]::Tls11 -bor [Net.SecurityProtocolType]::Tls12

La primera línea de código verifica la versión de TLS compatible. La segunda línea de código modifica la compatibilidad con TLS.

Solución 3: actualice el sistema

Ninguno de los dos métodos anteriores funcionará, por lo que sólo puedes utilizar el método definitivo:

  • Actualice el sistema a Windows 10 y Windows Server 2019 (compatible con TLS1.2);
  • Actualice el sistema a Windows 11 y Windows Server 2022 (compatible con TLS1.3).

Nota: Para conocer las versiones de TSL específicas admitidas por cada versión de Windows, consulte la información complementaria de este artículo.


Otro contenido de referencia

Otro contenido de referencia uno

Existen soluciones, pero dependen de la versión del framework:

.NET 4.6 y superior. No necesita realizar ningún trabajo adicional para admitir TLS 1.2; es compatible de forma predeterminada.

.NET 4.5. Se admite TLS 1.2, pero no es el protocolo predeterminado. Tienes que elegir usarlo. El siguiente código establece TLS 1.2 como predeterminado; asegúrese de ejecutarlo antes de conectarse a un recurso seguro:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12

.NET 4.0. TLS 1.2 no es compatible, pero si .NET 4.5 (o superior) está instalado en su sistema, aún tiene la opción de usar TLS 1.2 incluso si el marco de su aplicación no es compatible con TLS 1.2. El único problema es que SecurityProtocolType en .NET 4.0 no tiene entrada para TLS1.2, por lo que tenemos que usar la representación numérica de este valor de enumeración:

ServicePointManager.SecurityProtocol =(SecurityProtocolType)3072;

.NET 3.5 o inferior. TLS 1.2(*) no es compatible y no existe ninguna solución alternativa. Actualice su aplicación a la última versión del marco.

PD: Para el escenario 3, también hay un truco de registro que obligará a 4.5 a usar TLS 1.2 de forma predeterminada sin tener que forzarlo mediante programación. PPS Como menciona Christian Pop de Microsoft a continuación, hay un parche más reciente disponible para .NET 3.5 que habilita la compatibilidad con TLS1.2.

Ver:

  • KB3154518 – Paquete acumulativo de confiabilidad HR-1605 – NDP 2.0 SP2 – Win7 SP1/Win 2008 R2 SP1
  • KB3154519 – Paquete acumulativo de confiabilidad HR-1605 – NDP 2.0 SP2 – Win8 RTM/Win 2012 RTM
  • KB3154520 – Paquete acumulativo de confiabilidad HR-1605 – NDP 2.0 SP2 – Win8.1RTM/Win 2012 R2 RTM
  • KB3156421 -1605 HotFix Rollup through Windows Update for Windows 10.

Otro contenido de referencia 2

Quizás la longitud de la clave del certificado proporcionada por el sitio web sea de 512 bits y, según los estándares actuales de la industria, debería contener una clave pública de no menos de 2048 bits. La actualización de seguridad de Microsoft de septiembre de 2016 respondió a este problema indicando que si la longitud de la clave pública es inferior a 2048 bytes (por ejemplo, RSA 512),Windows puede cancelar conexiones HTTPS

Las actualizaciones instaladas son

2012 R2 and Windows 8

  • KB3185331
  • KB3188743
  • KB3174644

2008 R2 and Windows 7

  • KB3185278
  • KB3185330
  • KB3192391
  • KB3175024
  • KB3172605

Otro contenido de referencia tres

SecurityProtocolType.Tls1.0=0xC0; SecurityProtocolType.Tls1.1=0x300; SecurityProtocolType.Tls1.2=0xC00;
Valor predeterminado de .net 4.0/4.5: SecurityProtocolType.Tls | SecurityProtocolType.Ssl3 Valor predeterminado de .net 4.6/4.7: SecurityProtocolType.Tls |

https://support.microsoft.com/en-us/help/3069494/cannot-connect-to-a-server-by-using-the-servicepointmanager-or-sslstre

SCH_USE_STRONG_CRYPTO Este indicador se usará automáticamente en .NET Framework 4.6 https://support.microsoft.com/en-us/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework En Win7Sp1 y .Net 3.5.1, se admite TLS1.2

ServicePointManager.SecurityProtocol &= ~SecurityProtocolType.Ssl3; //Cerrar ssl3 ServicePointManager.SecurityProtocol |= (SecurityProtocolType)0x300 (SecurityProtocolType)0xc00;

La conclusión de TLS1.2 es la siguiente:

  • La instalación de .Net3.5.1 requiere un parche y luego agregar la enumeración TLS1.2
  • La instalación de .Net 4.0 requiere modificar el registro y luego agregar la enumeración TLS1.2
  • Después de instalar .Net4.5, también necesita agregar la enumeración TLS1.2
  • Después de instalar .Net4.6.1, TLS1.2 es compatible de forma predeterminada.

Modificación del registro bajo .net4

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001

Materiales adicionales

Este artículo está escrito pordescarga del sitio webRecopilado y organizado, el contenido proviene de Internet, indique la fuente al reimprimir, gracias.

Aplicación de software: descarga de plantillas de front-end; desarrollo y diseño de optimización SEO; Nota: ¡Este software no es un programa de piratas informáticos y no puede descargar datos en segundo plano!
Descargo de responsabilidad: El servicio es para estudio, investigación o apreciación personal, así como para otros fines no comerciales o sin fines de lucro, pero al mismo tiempo debe cumplir con las disposiciones de la ley de derechos de autor y otras leyes relevantes, y no debe infringir las Derechos legales de este sitio web y titulares de derechos relacionados. Los riesgos asociados con el uso de las herramientas de este sitio no tienen nada que ver con este software.
Copyright © 2019-2024 Rabbit Software Todos los derechos reservados Guangdong PCI N° 19111427-2
Información tutorial Manual de usuario Temas del sitio web