Solución definitiva: error “A fatal error occurred while creating a TLS client credential” 10013 en Windows 10/11

¿Ves repetidamente en el Visor de eventos el aviso “A fatal error occurred while creating a TLS client credential. The internal error status is 10013. The SSPI client process is SystemSettings”? Aquí tienes una guía clara para entender las causas, probar el origen y aplicar una solución estable.

Índice

Qué significa el error

El mensaje aparece cuando la aplicación SystemSettings.exe (la app Configuración de Windows) intenta iniciar una sesión segura usando TLS a través del proveedor Schannel/SSPI y, por alguna razón, no puede crear las credenciales del cliente. El estado interno 10013 suele indicar que no existe intersección válida entre lo que el sistema ofrece (protocolos, suites de cifrado, certificados) y lo que el servidor o la biblioteca interna exigen, o que hay un impedimento local (registro, certificados, controlador, proxy/AV) que bloquea la negociación.

En la práctica, el síntoma más habitual es que el evento se genera al abrir Configuración, al iniciar sesión con cuenta Microsoft, al visitar páginas del sistema (p. ej., “Cuentas”, “Actualización y seguridad”), o incluso sin interacción perceptible. Aunque muchas veces no hay impacto funcional visible, el registro constante es molesto y sugiere un desajuste de seguridad que conviene corregir.

Cómo confirmarlo

  1. Abre Visor de eventosRegistros de WindowsSistemaOrigen: Schannel.
  2. Localiza el evento con texto “A fatal error occurred while creating a TLS client credential. The internal error status is 10013. The SSPI client process is SystemSettings (PID XXXX).”
  3. Abre la app Configuración y navega por sus páginas: si el evento se repite al instante, ya puedes reproducirlo bajo demanda.

Ruta de solución recomendada

Empieza por una prueba rápida para identificar la causa probable y, si lo confirma, consolida con una corrección permanente. La siguiente tabla resume las dos acciones principales y su propósito:

Paso propuestoQué haceCuándo y por qué usarloRiesgos o comentarios
1. Habilitar temporalmente TLS heredado
Propiedades de Internet → pestaña Avanzadas → marcar “TLS 1.0” y “TLS 1.1” → Aceptar → reiniciar.
Permite que SystemSettings negocie con versiones antiguas de TLS que algunas bibliotecas internas pueden seguir solicitando.Útil como prueba: si el evento desaparece de inmediato, el origen es la desactivación de protocolos antiguos o una dependencia concreta.Solo como medida provisional. TLS 1.0/1.1 están obsoletos y presentan debilidades criptográficas; desmárcalos tras la prueba.
2. Forzar TLS moderno desde el Registro
Editor del Registro → HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols → crear clave TLS 1.2\Client y dentro: DisabledByDefault (DWORD) = 0 Enabled (DWORD) = 1 Reinicia el equipo.
Asegura que Windows negocie con TLS 1.2 o superior, evitando caídas a versiones inseguras.Recomendado como solución permanente si el software implicado admite TLS 1.2 o superior.Editar el Registro es delicado: crea un punto de restauración y copia de seguridad. Si no resuelve, puede haber otros factores (controladores, certificados, proxy/AV, componente dañado).

Aplicación práctica paso a paso

Habilitar temporalmente TLS legado

Esta es una prueba diagnóstica. Si elimina el evento, ya sabes que la causa es la compatibilidad de protocolo.

  1. Presiona Win + R, escribe inetcpl.cpl y pulsa Aceptar.
  2. Ve a la pestaña Avanzadas y desplázate hasta Seguridad.
  3. Marca Usar TLS 1.0 y Usar TLS 1.1. Deja marcados también Usar TLS 1.2 y, en Windows recientes, Usar TLS 1.3.
  4. Aplica y reinicia.

Tras validar, revierte esta prueba desmarcando TLS 1.0/1.1. Mantenerlos activos no es aconsejable.

Forzar TLS moderno desde el Registro

Configura explícitamente los protocolos permitidos por Schannel para el rol de cliente.

  1. Presiona Win + R, escribe regedit y confirma.
  2. Navega a HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols.
  3. Si no existen, crea las subclaves:
    • TLS 1.2\Client
    • (opcional) TLS 1.3\Client en Windows compatibles.
  4. Dentro de Client, crea o ajusta estos valores DWORD (32 bits):
    • DisabledByDefault = 0
    • Enabled = 1
  5. Reinicia el equipo.

Si prefieres línea de comandos (ejecutar como administrador):

reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v Enabled           /t REG_DWORD /d 1 /f

En Windows con soporte, puedes reforzar además TLS 1.3:

reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client" /v Enabled           /t REG_DWORD /d 1 /f

Política de seguridad y suites de cifrado

Un conjunto de suites demasiado restrictivo también dispara el evento. Revisa estas dos áreas:

  • Directiva de grupo: abre gpedit.mscConfiguración del equipoPlantillas administrativasRedConfiguración de SSL. La opción Orden de suites de cifrado permite definir el orden y la lista. Si está habilitada con una lista anticuada, puede impedir la negociación. Prueba a deshabilitarla o a usar el orden recomendado por Microsoft para TLS moderno.
  • PowerShell (consulta de suites instaladas):
Get-TlsCipherSuite | Sort-Object Name | Format-Table Name, Exchange, Cipher, Hash, Protocols

Comprueba que existan suites compatibles con TLS 1.2 y TLS 1.3 (p. ej., ECDHE con AES‑GCM). Si tu entorno está forzando solo suites RSA antiguas, SystemSettings puede fallar.

Medidas complementarias

  • Actualizar Windows y controladores de red: instala todas las actualizaciones de calidad. Los cambios en Schannel/SSPI y NIC suelen corregir incidentes de negociación.
  • Reparar archivos del sistema: sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth
  • Restablecer la aplicación Configuración:
    • Ejecuta wsreset.exe (limpia caché de la Tienda y, a menudo, resetea dependencias relacionadas).
    • O ve a ConfiguraciónAplicacionesAplicaciones instaladasConfiguraciónOpciones avanzadasRestablecer.
  • Verificar certificados raíz y personales:
    • Abre mmc.exeArchivoAgregar o quitar complementoCertificados (equipo y usuario).
    • En Entidades de certificación raíz de confianza, comprueba expiraciones o elementos dañados. Si es un equipo corporativo, sincroniza con la CA interna.
  • Firewall y antivirus de terceros: desactiva temporalmente inspección HTTPS o módulos web shield. Algunos interceptan TLS y rompen la negociación.
  • Proxy y WinHTTP: si el sistema usa proxy, valida credenciales, excepciones y compatibilidad con TLS moderno. netsh winhttp show proxy

Diagnóstico avanzado

Registro detallado de Schannel

Activa el registro para obtener más contexto en cada caída de credenciales:

  1. Visor de eventos → Registros de aplicaciones y serviciosMicrosoftWindowsSchannelOperational.
  2. Haz clic en Habilitar registro.
  3. Reproduce el fallo y examina los eventos: verás códigos de alerta, protocolo y, a veces, la suite tentativa.

Complementa con el registro CAPI2 para detectar problemas de cadena de certificados: Visor de eventos → Registros de aplicaciones y serviciosMicrosoftWindowsCAPI2 → habilita Operational.

Verificación de certificados

  • Si tu organización usa inspección SSL, instala el certificado raíz de la pasarela en el almacén de Equipo localEntidades de certificación raíz de confianza.
  • Busca duplicados o cadenas mixtas (ECDSA y RSA) que puedan confundir al cliente.
  • En entornos con FIPS habilitado, revisa que las suites permitidas sean compatibles con las políticas.

Pruebas con PowerShell

Prueba la pila TLS del equipo con .NET para confirmar que TLS 1.2 funciona con el sistema en general:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
try {
  $req = Invoke-WebRequest -Uri "https://example.org" -DisableKeepAlive -MaximumRedirection 0 -UseBasicParsing -TimeoutSec 10
  "OK: TLS 1.2 disponible"
} catch {
  "Error TLS: $($_.Exception.Message)"
}

La prueba no depende de SystemSettings, pero te indica si el problema es global o local a esa app.

Proxy, firewalls y red

  • Si usas proxy autenticado, verifica que el servicio del sistema tenga permiso para salir a Internet; SystemSettings puede usar contexto de equipo.
  • Desactiva QUIC/HTTP3 en equipos con inspección TLS antigua que no entienda esos protocolos.
  • Actualiza el controlador de red y, si procede, el firmware de la tarjeta.

Escenarios conocidos

  • Directiva demasiado estricta: una lista de suites limitada a RSA antiguas provoca caída al crear credenciales de cliente.
  • Almacén raíz inconsistente: cadenas cortadas o expiradas impiden la validación y disparan el evento.
  • Intercepción TLS por terceros: antivirus o proxy insertan certificados propios; si el cliente no confía en la raíz, la sesión falla.
  • Componentes dañados: archivos del sistema o la propia app Configuración corrompidos; se corrige con SFC/DISM y reseteo.

Preguntas frecuentes

¿Es peligroso mantener el evento sin corregir? No suele comprometer la estabilidad, pero indica que algo impide establecer canales seguros; corrígelo para evitar futuros fallos funcionales.

¿Por qué aparece solo con la app Configuración? Porque esa app consume servicios del sistema que realizan llamadas de red protegidas. Si la pila TLS o el entorno no encaja, Schannel registra el error al crear las credenciales previas a la negociación.

¿Basta con dejar activado TLS 1.0/1.1? No. Úsalo solo para diagnosticar. El objetivo es que el sistema funcione con TLS 1.2 o superior.

¿Qué hago si forzar TLS 1.2 no resuelve? Aplica las medidas complementarias: revisa suites de cifrado, certificados, proxy/AV, actualiza el sistema y repara componentes. Si persiste, habilita registros de Schannel y CAPI2 para localizar el factor exacto.

Reversión segura

Si quieres deshacer cambios de registro:

reg delete "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /f
reg delete "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v Enabled /f

Y vuelve a la configuración por defecto en Propiedades de Internet desmarcando los protocolos heredados.

Checklist de resolución rápida

  • Reproduce el evento abriendo Configuración y observa el registro Schannel.
  • Prueba activación temporal de TLS heredado; si desaparece, confirma origen de compatibilidad.
  • Fuerza TLS moderno con claves de Schannel y revisa suites por directiva.
  • Ejecuta SFC/DISM y restablece la app Configuración.
  • Comprueba certificados raíz y la presencia de inspección TLS por terceros.
  • Valida proxy/WinHTTP y controladores de red.
  • Habilita registros operativos de Schannel y CAPI2 para aislar el factor restante.

Conclusión

El aviso “A fatal error occurred while creating a TLS client credential” con estado interno 10013 suele deberse a una combinación de protocolos limitados, suites desalineadas o intermediarios que alteran la sesión segura. Usar TLS heredado como prueba te ayuda a confirmar la hipótesis. La solución sostenible pasa por reforzar TLS moderno en Schannel, ajustar suites de cifrado y sanear certificados y componentes. Con los pasos anteriores, la mayoría de los equipos dejan de registrar el evento y vuelven a operar con una postura segura y actualizada.

En resumen:

  • La activación de TLS heredado es un método diagnóstico, no un estado final seguro.
  • Forzar TLS 1.2 desde el Registro suele ser la corrección definitiva, siempre acompañada de suites actualizadas y un almacén de certificados íntegro.
  • Si el evento persiste, combina el ajuste de protocolo con las medidas complementarias y el registro operativo para identificar la causa raíz.
Índice