---
title: "Erro SSL/TLS — Certificado OpenClaw"
url: "https://openclaw.ia.br/troubleshooting/erro-ssl-tls/"
markdown_url: "https://openclaw.ia.br/troubleshooting/erro-ssl-tls.MD"
description: "Como resolver erros de certificado SSL e conexões TLS. Validação, expiração e configuração HTTPS."
date: ""
author: ""
---

# Erro SSL/TLS — Certificado OpenClaw

Como resolver erros de certificado SSL e conexões TLS. Validação, expiração e configuração HTTPS.


# Erro SSL/TLS

## Descrição do Problema

Erros relacionados a certificados SSL ou conexões TLS:

```
SSL_ERROR_HANDSHAKE_FAILURE_ALERT
certificate verify failed
unable to get local issuer certificate
CERT_HAS_EXPIRED
self signed certificate in certificate chain
```

## Possíveis Causas

1. **Certificado expirado** - Validade do certificado passou
2. **Self-signed** - Certificado não é de uma CA confiável
3. **Cadeia incompleta** - Faltando certificados intermediários
4. **Hostname errado** - Certificado não bate com o domínio
5. **CA desatualizada** - Lista de CAs do sistema está antiga

## Soluções

### 1. Verificar Certificado

```bash
# Ver detalhes do certificado
echo | openssl s_client -servername seu-site.com \
  -connect seu-site.com:443 2>/dev/null | \
  openssl x509 -noout -text

# Ver datas de validade
echo | openssl s_client -servername seu-site.com \
  -connect seu-site.com:443 2>/dev/null | \
  openssl x509 -noout -dates
```

### 2. Renovar Certificado Let's Encrypt

```bash
# Renovar com certbot
sudo certbot renew

# Ou renovar específico
sudo certbot renew --cert-name seu-site.com

# Reiniciar servidor web
sudo systemctl restart nginx
```

### 3. Atualizar CA Certificates

```bash
# Ubuntu/Debian
sudo apt update
sudo apt install ca-certificates
sudo update-ca-certificates

# CentOS/RHEL
sudo yum update ca-certificates
```

### 4. Configurar Certificado no Node.js

```javascript
// Ignorar verificação SSL (NÃO RECOMENDADO EM PRODUÇÃO)
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';

// Melhor: especificar CA
const https = require('https');
const fs = require('fs');

const options = {
  ca: fs.readFileSync('/path/to/ca-cert.pem')
};
```

### 5. Configurar Certificado Completo

```bash
# Concatenar certificados (fullchain)
cat seu-certificado.crt intermediario.crt > fullchain.crt

# Verificar cadeia
openssl verify -CAfile ca.crt fullchain.crt
```

### 6. Gerar Novo Certificado com Let's Encrypt

```bash
# Instalar certbot
sudo apt install certbot

# Gerar certificado
sudo certbot certonly --standalone -d seu-site.com

# Os arquivos estarão em:
# /etc/letsencrypt/live/seu-site.com/fullchain.pem
# /etc/letsencrypt/live/seu-site.com/privkey.pem
```

### 7. Configurar no Gateway

```yaml
# config.yaml
ssl:
  enabled: true
  cert: /etc/letsencrypt/live/seu-site.com/fullchain.pem
  key: /etc/letsencrypt/live/seu-site.com/privkey.pem
  ca: /etc/letsencrypt/live/seu-site.com/chain.pem
```

## Verificar Problemas

```bash
# Testar conexão SSL completa
openssl s_client -connect seu-site.com:443 -servername seu-site.com

# Verificar com curl
curl -v https://seu-site.com

# Testar certificado específico
openssl verify certificado.crt
```

## Problemas Relacionados

- [Webhook Não Funciona](#)
- [Erro de Conexão](#)
- [Gateway Não Inicia](#)

## Prevenção

- Configure renovação automática de certificados
- Monitore datas de expiração
- Use certificados de CAs confiáveis
- Mantenha o sistema atualizado
