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

# Resolvendo o erro de verificação de certificado SSL no ClickHouse

> Saiba como resolver o erro SSL Exception CERTIFICATE_VERIFY_FAILED.

<div id="resolving-ssl-certificate-verify-error-in-clickhouse">
  ## Como resolver o erro de verificação de certificado SSL, código 210, no ClickHouse
</div>

O erro geralmente é exibido como:

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

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

Este erro ocorre ao tentar se conectar a um servidor ClickHouse usando `clickhouse-client`. A causa do erro é uma das seguintes:

* o arquivo de configuração do cliente, `config.xml`, não inclui o certificado raiz no repositório padrão de CAs da máquina; ou
* há um certificado de CA autossinado ou de uma CA interna que não está configurado

<div id="solution">
  ## Solução
</div>

Se estiver usando uma CA interna ou autossinada, configure o certificado raiz da CA em `config.xml`, no diretório do cliente (por exemplo, `/etc/clickhouse-client`), e desative o carregamento, a partir do local padrão, dos certificados raiz de CA padrão.

Veja um exemplo de configuração:

```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 Python no macOS
</div>

Os clientes Python relatam esse erro de forma diferente, normalmente assim:

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

No macOS, a compilação do Python distribuída pelo python.org verifica certificados usando os caminhos padrão do OpenSSL, em vez do chaveiro do sistema. Em uma instalação nova, esses caminhos não apontam para nenhum pacote de certificados raiz: o instalador inclui [certifi](https://pypi.org/project/certifi/), mas não o vincula ao local padrão do OpenSSL até que você execute o script incluído `Install Certificates.command`. Até lá, o cliente não consegue validar o certificado do servidor do ClickHouse Cloud, mesmo que esse certificado seja válido. Isso afeta as compilações do python.org para macOS em geral (Python 3.6 e versões posteriores), não apenas o Python 3.11.

Execute `Install Certificates.command` para vincular o certifi ao caminho padrão de certificados do OpenSSL. Ajuste a versão no caminho para corresponder à sua instalação:

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

Como alternativa, aponte seu cliente diretamente para o pacote do certifi. [ClickHouse Connect](/pt-BR/integrations/language-clients/python/index) não usa o certifi automaticamente como alternativa, portanto passe o pacote pelo 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 adicionais
</div>

Consulte a [documentação de configuração do `clickhouse-client`](/pt-BR/concepts/features/interfaces/client#configuration_files).
