Configurar TLS no AppServer Protheus
Tutorial: habilitar TLS/SSL no AppServer Protheus pra comunicacao segura com SmartClient web e clientes externos REST.
AppServer expostos em rede publica (cloud, VPN, parceiros) precisam de TLS. Esse tutorial cobre o setup do certificado e configuracao no appserver.ini.
1. Obter certificado
Tres opcoes:
- Let's Encrypt (gratis): usar
certbotcom validacao DNS - Certificado pago (DigiCert, GoDaddy): envia CSR, recebe arquivo .crt + chave .key
- Self-signed (homolog/dev): gera com
openssl— clientes precisam adicionar como confiavel
2. Formato necessario
AppServer precisa de:
.pfxou.p12(PKCS#12) com certificado + chave privada juntos- Ou
.crt+.keyseparados (depende da versao)
Converter PEM pra PFX:
openssl pkcs12 -export \
-inkey privkey.pem \
-in fullchain.pem \
-out appserver.pfx \
-password pass:SUASENHA3. Configurar appserver.ini
[HTTPSV11]
ENABLE=1
PORT=2443
INSTANCES=1,2
INSTANCENAME=HTTPS
SECURITYLEVEL=1
SECURITYTYPE=2
CERTIFICATE=\appserver\certs\appserver.pfx
CERTIFICATEPASSWORD=SUASENHA
MINPROTOCOLVERSION=TLS1.24. Reiniciar AppServer
# Linux
systemctl restart appserver
# Windows (service)
net stop "TOTVS AppServer"
net start "TOTVS AppServer"5. Validar
# Test connect
openssl s_client -connect seu-server.com:2443 -showcerts
# Curl HTTPS (TLPP REST endpoint)
curl -v https://seu-server.com:2443/api/health6. Pegadinhas
- Path no .ini: caminho relativo a partir do root do AppServer (geralmente
C:\Protheus\) - Senha hardcoded: limite leitura do
.inipra so o usuario que roda o servico - Renovacao Let's Encrypt: certbot renova a cada 90 dias — automatizar regeneracao do .pfx + restart
- SmartClient web: precisa do mesmo certificado (ou um valido na mesma autoridade)
- TLS 1.0/1.1: nao aceitar — vulneravel. Sempre
MINPROTOCOLVERSION=TLS1.2
7. Cipher suites recomendadas
CIPHERS=ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384Excluir explicitamente: RC4, 3DES, MD5, anonymous, NULL, EXPORT.