> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-revert-104359-revert-104251-parquet-single.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Cómo resolver el error de verificación del certificado SSL en ClickHouse

> Aprenda a resolver el error SSL CERTIFICATE_VERIFY_FAILED.

<div id="resolving-ssl-certificate-verify-error-in-clickhouse">
  ## Resolución del error 210 de verificación del certificado SSL en ClickHouse
</div>

El error suele mostrarse así:

`Code: 210. DB::NetException: SSL Exception: error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED`

<div id="cause-of-the-error">
  ## Causa del error
</div>

Este error se produce al intentar conectarse a un servidor de ClickHouse mediante `clickhouse-client`. La causa del error es una de las siguientes:

* en el archivo de configuración del cliente `config.xml` falta el certificado raíz del almacén de CA predeterminado del sistema, o
* hay un certificado de CA autofirmado o de una CA interna que no está configurado

<div id="solution">
  ## Solución
</div>

Si utiliza una CA interna o autofirmada, configure el certificado raíz de la CA en `config.xml`, en el directorio del cliente (por ejemplo, `/etc/clickhouse-client`), y desactive la carga de los certificados raíz de CA predeterminados desde la ubicación predeterminada.

A continuación se muestra una configuración de ejemplo:

```xml theme={null}
<openSSL>
    <client>
        <loadDefaultCAFile>false</loadDefaultCAFile>
        <caConfig>/etc/clickhouse-server/certs/marsnet_ca.crt</caConfig>
        <cacheSessions>true</cacheSessions>
        <disableProtocols>sslv2,sslv3</disableProtocols>
        <preferServerCiphers>true</preferServerCiphers>
        <invalidCertificateHandler>
            <name>RejectCertificateHandler</name>
        </invalidCertificateHandler>
    </client>
</openSSL>
```

<div id="python-clients-on-macos">
  ## Clientes de Python en macOS
</div>

Los clientes de Python muestran este error de forma diferente, normalmente así:

`ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate`

En macOS, la versión de Python de python.org verifica los certificados mediante las rutas predeterminadas de OpenSSL en lugar del llavero del sistema. En una instalación limpia, esas rutas no apuntan a ningún paquete de certificados raíz: el instalador incluye [certifi](https://pypi.org/project/certifi/), pero no lo enlaza con la ubicación predeterminada de OpenSSL hasta que ejecutas el script incluido `Install Certificates.command`. Hasta entonces, el Client no puede validar el certificado del servidor de ClickHouse Cloud, aunque ese certificado sea válido. Esto afecta en general a las versiones de macOS de python.org (Python 3.6 y posteriores), no solo a Python 3.11.

Ejecuta `Install Certificates.command` para enlazar certifi con la ruta predeterminada de certificados de OpenSSL. Ajusta la versión en la ruta para que coincida con tu instalación:

```bash theme={null}
open "/Applications/Python 3.11/Install Certificates.command"
```

Como alternativa, apunte su Client directamente al paquete de certifi. [ClickHouse Connect](/es/integrations/language-clients/python/index) no usa certifi automáticamente como alternativa, así que pase el paquete mediante el parámetro `ca_cert`:

```python theme={null}
import certifi
import clickhouse_connect

client = clickhouse_connect.get_client(
    host='HOSTNAME.clickhouse.cloud',
    port=8443,
    username='default',
    password='YOUR_SECRET_PASSWORD',
    ca_cert=certifi.where(),
)
```

<div id="additional-resources">
  ## Recursos adicionales
</div>

Consulta la [documentación sobre la configuración de `clickhouse-client`](/es/concepts/features/interfaces/client#configuration_files).
