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

# Устранение ошибки проверки SSL-сертификата в ClickHouse

> Узнайте, как исправить ошибку SSL Exception CERTIFICATE_VERIFY_FAILED.

<div id="resolving-ssl-certificate-verify-error-in-clickhouse">
  ## Устранение ошибки проверки SSL-сертификата с кодом 210 в ClickHouse
</div>

Обычно эта ошибка выглядит так:

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

<div id="cause-of-the-error">
  ## Причина ошибки
</div>

Эта ошибка возникает при попытке подключиться к серверу ClickHouse с помощью клиента ClickHouse. Причина может быть одной из следующих:

* в файле конфигурации клиента `config.xml` отсутствует корневой CA‑сертификат из системного хранилища доверенных CA по умолчанию, или
* самоподписанный или внутренний CA‑сертификат не настроен

<div id="solution">
  ## Решение
</div>

Если используется внутренняя или самоподписанная CA, настройте корневой CA‑сертификат в `config.xml` в каталоге клиента (например, `/etc/clickhouse-client`) и отключите загрузку корневых CA‑сертификатов по умолчанию из стандартного расположения.

Ниже приведён пример конфигурации:

```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">
  ## Клиенты Python на macOS
</div>

Клиенты Python сообщают об этой ошибке по-разному, обычно так:

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

На macOS сборка Python с python.org проверяет сертификаты через стандартные пути OpenSSL, а не через системную связку ключей. При чистой установке эти пути не указывают ни на один набор корневых сертификатов: установщик включает [certifi](https://pypi.org/project/certifi/), но не связывает его со стандартным расположением OpenSSL, пока вы не запустите входящий в комплект скрипт `Install Certificates.command`. До этого клиент не может проверить сертификат сервера ClickHouse Cloud, хотя сам сертификат действителен. Это касается сборок python.org для macOS в целом (Python 3.6 и новее), а не только Python 3.11.

Запустите `Install Certificates.command`, чтобы связать certifi со стандартным путем к сертификатам OpenSSL. Скорректируйте версию в пути в соответствии с вашей установкой:

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

В качестве альтернативы укажите клиенту пакет сертификатов certifi напрямую. [ClickHouse Connect](/ru/integrations/language-clients/python/index) сам по себе не использует certifi в качестве резервного варианта, поэтому передайте пакет через параметр `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">
  ## Дополнительные ресурсы
</div>

См. [документацию по конфигурации клиента ClickHouse](/ru/concepts/features/interfaces/client#configuration_files).
