> ## 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.

# Résoudre l’erreur de vérification du certificat SSL dans ClickHouse

> Découvrez comment résoudre l’erreur SSL Exception CERTIFICATE_VERIFY_FAILED.

<div id="resolving-ssl-certificate-verify-error-in-clickhouse">
  ## Résolution de l’erreur de vérification du certificat SSL (code 210) dans ClickHouse
</div>

L’erreur est généralement signalée sous la forme suivante :

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

<div id="cause-of-the-error">
  ## Cause de l’erreur
</div>

Cette erreur se produit lors de la tentative de connexion à un serveur ClickHouse à l’aide de `clickhouse-client`. Elle est due à l’une des causes suivantes :

* le fichier de configuration du client `config.xml` ne contient pas le certificat racine dans le magasin de CA par défaut de la machine, ou
* un certificat de CA auto-signé ou interne n’est pas configuré

<div id="solution">
  ## Solution
</div>

Si vous utilisez une CA interne ou autosignée, configurez le certificat racine de la CA dans le fichier `config.xml` du répertoire client (par ex. `/etc/clickhouse-client`) et désactivez le chargement des certificats racines de CA par défaut depuis leur emplacement par défaut.

Voici un exemple de configuration :

```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">
  ## Clients Python sur macOS
</div>

Les clients Python signalent cette erreur différemment, généralement sous la forme :

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

Sur macOS, la version de Python fournie par python.org vérifie les certificats à l’aide des chemins par défaut d’OpenSSL, plutôt que via le trousseau système. Après une nouvelle installation, ces chemins ne pointent vers aucun bundle de certificats racines : l’installateur inclut [certifi](https://pypi.org/project/certifi/), mais ne le relie pas à l’emplacement par défaut d’OpenSSL tant que vous n’exécutez pas le script `Install Certificates.command` fourni. D’ici là, le client ne peut pas valider le certificat du serveur ClickHouse Cloud, même si ce certificat est valide. Ce problème affecte de manière générale les versions macOS de python.org (Python 3.6 et ultérieures), et pas seulement Python 3.11.

Exécutez `Install Certificates.command` pour relier certifi au chemin de certificat par défaut d’OpenSSL. Adaptez la version dans le chemin à votre installation :

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

Vous pouvez aussi faire pointer directement votre client vers le bundle certifi. [ClickHouse Connect](/fr/integrations/language-clients/python/index) ne bascule pas automatiquement sur certifi, donc transmettez le bundle via le paramètre `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">
  ## Ressources complémentaires
</div>

Consultez la [documentation sur la configuration de `clickhouse-client`](/fr/concepts/features/interfaces/client#configuration_files).
