Compartir a través de


Error "El certificado recibido del servidor remoto fue emitido por una entidad de certificación que no es de confianza" al conectarse a SQL Server.

Este artículo le ayuda a resolver el problema que se produce al intentar establecer una conexión cifrada a SQL Server.

Versión del producto original: SQL Server
Número de KB original: 2007728

Síntomas

Al conectarse a SQL Server, puede aparecer el mensaje de error siguiente:

Se estableció correctamente una conexión con el servidor, pero luego se produjo un error durante el proceso de inicio de sesión. (proveedor: Proveedor SSL, error: 0: La cadena de certificación fue emitida por una entidad que no es de confianza). (Proveedor de datos SqlClient de .NET)

Además, se registra el siguiente mensaje de error en el registro de eventos de Windows System.

Log Name:      System  
Source:        Schannel  
Date:          10/13/2020 3:03:31 PM  
Event ID:      36882  
Task Category: None  
Level:         Error  
Keywords:  
User:        USERNAME  
Computer:     COMPUTERNAME  
Description:  
The certificate received from the remote server was issued by an untrusted certificate authority. Because of this, none of the data contained in the certificate can be validated. The TLS connection request has failed. The attached data contains the server certificate.

Causa

Este error se produce al intentar establecer una conexión cifrada a SQL Server mediante un certificado no verificable. Esto puede suceder en los siguientes escenarios:

Escenario Cifrado del servidor Cifrado del lado del cliente Tipo de certificado Entidad emisora de certificados presente en el almacén de Entidades de certificación raíz de confianza
1 No Aprovisiona un certificado de un origen que no es de confianza (la entidad emisora de certificados no aparece como una entidad de confianza en Entidades de certificación raíz de confianza en la máquina cliente). No
2 Desactivado Certificado autogenerado de SQL Server Los certificados autofirmados no aparecen en este almacén.

Al establecer conexiones cifradas a SQL Server, Secure Channel (Schannel) crea la lista de entidades de certificación de confianza mediante la búsqueda en el almacén Entidades de certificación raíz de confianza en el equipo local. Durante el protocolo de enlace TLS, el servidor envía su certificado de clave pública al cliente. El emisor de un certificado de clave pública se conoce como entidad de certificación (CA, Certificate Authority). El cliente tiene que asegurarse de que la entidad de certificación es una en la que confía. Esto se logra conociendo la clave pública de las entidades de certificación de confianza de antemano. Cuando Schannel detecta un certificado emitido por una entidad de certificación que no es de confianza, como en los dos casos anteriores, obtendrá el mensaje de error que aparece en la sección Síntomas .

Solución

Si usa intencionadamente un certificado de una entidad de confianza o un certificado autofirmado para cifrar las conexiones a SQL Server, puede emplear una de las siguientes opciones:

En el escenario 1, agregue la entidad de certificación al almacén Entidades de certificación raíz de confianza en el equipo cliente que inicia la conexión cifrada. Para ello, complete la sección Exportar el certificado de servidor e Instalar la entidad de certificación raíz (CA) en los procedimientos del equipo cliente que aparecen en las secciones siguientes de esa secuencia.

Exportar el certificado del servidor

En el ejemplo se usa un archivo denominado caCert.cer como archivo de certificado. Debe obtener este archivo de certificado del servidor. Los pasos siguientes explican cómo exportar el certificado de servidor a un archivo:

  1. Haga clic en Inicio, en Ejecutar y escriba MMC. (MMC es un acrónimo de Microsoft Management Console).

  2. En MMC, abra los Certificados.

  3. Expanda Personal y, después, Certificados.

  4. Haga clic con el botón derecho en el certificado de servidor y, a continuación, seleccione Todas las tareas y> exportar.

  5. Haga clic en Siguiente para pasar del cuadro de diálogo de bienvenida del Asistente para exportar certificados.

  6. Confirme que No, no exporte la clave privada seleccionada y, a continuación, seleccione Siguiente.

  7. Asegúrese de que el archivo binario X.509 codificado en DER (. CER) o X.509 codificado en Base 64 (. CER) está seleccionado y luego haga clic en Siguiente.

  8. Escriba un nombre para el archivo de exportación.

  9. Haga clic en Siguiente y luego en Finalizar para exportar el certificado.

Instalación de la entidad de certificación raíz (CA) en el equipo cliente

  1. Inicie el complemento Certificados para MMC en el equipo cliente y agregue el complemento Certificados.

  2. En el cuadro de diálogo Complemento Certificados, seleccione Cuenta de equipo y, a continuación, seleccione Siguiente.

  3. En el panel Seleccionar equipo , seleccione Equipo local: (el equipo en el que se ejecuta esta consola) y, a continuación, seleccione Finalizar.

  4. Elija Aceptar para cerrar el cuadro de diálogo Agregar o quitar complementos .

  5. En el panel izquierdo de MMC, expanda el nodo Certificados (equipo local).

  6. Expanda el nodo Entidades de certificación raíz de confianza, haga clic con el botón derecho en la subcarpeta Certificados , seleccione Todas las tareas y, a continuación, seleccione Importar.

  7. En el Asistente para importación de certificados, en la página principal, seleccione Siguiente.

  8. En la página Archivo para importar , seleccione Examinar.

  9. Vaya a la ubicación del archivo de certificado caCert.cer , seleccione el archivo y, a continuación, seleccione Abrir.

  10. En la página Archivo que se va a importar , seleccione Siguiente.

  11. En la página Almacén de certificados, acepte la selección predeterminada y seleccione Siguiente.

  12. En la página Finalización del Asistente para importación de certificados, seleccione Finalizar.

En los escenarios 1 y 2, establezca Trust Server Certificate (Certificado de servidor de confianza) en true en la aplicación cliente.

Para obtener más información sobre cómo hacerlo, consulte los temas siguientes:

Nota:

Si se conecta a SQL Server con SQL Server Management Studio, seleccione la pestaña Opciones de la ventana Conectar con el servidor y, a continuación, seleccione la opción Confiar en el certificado de servidor.

Precaución: las conexiones SSL cifradas mediante un certificado autofirmado no proporcionan una seguridad segura. Son susceptibles a man-in-the-middle ataques. No debe confiar en SSL mediante certificados autofirmados en un entorno de producción ni en servidores conectados a Internet.

Si la configuración descrita en las secciones anteriores de este artículo no es intencionada, puede usar una de las siguientes opciones para resolver este problema:

  • Configure el motor de base de datos para que use el cifrado según el procedimiento de la sección Habilitar conexiones de cifrado al motor de la base de datos.

  • Si el cifrado no es necesario:

    • Deshabilite la configuración de cifrado (si existe) en la aplicación cliente.

    • Deshabilite el cifrado del lado servidor mediante el Administrador de configuración de SQL Server. Para obtener más información sobre cómo hacerlo, vea Configurar servidor.