Erro de SSL/TLS — Certificado OpenClaw
Como resolver erros de certificado SSL no OpenClaw. Certificados expirados, inválidos e configuração.
⏱️ 2 min de leitura
Erro de SSL/TLS
O OpenClaw está dando erro de certificado? Veja como resolver.
Sintomas
Error: CERT_HAS_EXPIRED
Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE
Error: SELF_SIGNED_CERT_IN_CHAIN
Error: SSL certificate problem
Causas e Soluções
1. Certificado Expirado
No seu servidor:
# Verificar data de expiração
openssl s_client -connect seu-dominio.com:443 2>/dev/null | openssl x509 -noout -dates
# Renovar com Let's Encrypt
sudo certbot renew
Em serviço externo: O serviço que você está chamando tem certificado expirado. Aguarde ou contate o provedor.
2. Certificado Auto-assinado
Se for seu servidor em desenvolvimento:
# config.yaml
http:
reject_unauthorized: false # ⚠ Apenas dev
Melhor solução: Use Let’s Encrypt (gratuito) para certificado válido:
sudo apt install certbot
sudo certbot certonly --standalone -d seu-dominio.com
3. CA Não Reconhecida
Adicionar CA customizada:
# Copiar certificado da CA
sudo cp minha-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
Via Node.js:
export NODE_EXTRA_CA_CERTS=/path/to/ca.crt
4. Data/Hora do Sistema Errada
Certificados validam data. Se seu sistema estiver errado:
# Verificar data
date
# Sincronizar
sudo ntpdate pool.ntp.org
# ou
sudo timedatectl set-ntp true
5. Proxy/Firewall Interceptando
Se sua empresa usa proxy HTTPS:
# Definir proxy
export HTTPS_PROXY=http://proxy:8080
# Com certificado do proxy
export NODE_EXTRA_CA_CERTS=/path/to/proxy-ca.crt
Diagnóstico
Verificar Certificado
# Ver detalhes do certificado
openssl s_client -connect api.anthropic.com:443 -servername api.anthropic.com
# Verificar cadeia completa
openssl s_client -connect api.anthropic.com:443 -showcerts
Testar Conexão
# Com curl (mostra detalhes SSL)
curl -vI https://api.anthropic.com
# Ignorar SSL (apenas teste!)
curl -k https://api.anthropic.com
Configuração Segura
Produção
# config.yaml
http:
reject_unauthorized: true # Sempre true em prod
ca_path: null # Usa CAs do sistema
Desenvolvimento
# config.yaml - APENAS desenvolvimento local
http:
reject_unauthorized: false
⚠ NUNCA use reject_unauthorized: false em produção!
Por Serviço
APIs de IA (Anthropic/OpenAI)
Esses serviços usam certificados válidos. Se der erro:
- Verifique sua conexão
- Verifique data do sistema
- Verifique proxy/firewall corporativo
Webhooks Externos
Se você recebe webhooks via HTTPS:
# Certificado válido obrigatório
# Use Let's Encrypt:
sudo certbot certonly --webroot -w /var/www/html -d seu-dominio.com
Serviços Internos
Para serviços internos com certificados self-signed:
# Adicione CA interna ao sistema
sudo cp internal-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
Ambientes Comuns
Docker
# Copiar CA certificates
COPY ca-certificates.crt /etc/ssl/certs/
ENV SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt
Kubernetes
# ConfigMap com CA
apiVersion: v1
kind: ConfigMap
data:
ca.crt: |
-----BEGIN CERTIFICATE-----
...