Como configurar sistema para chave de liberação automática
1º Passo atualizem para versão 1778 do Soften Siem e 1082 do PAFECF ou posterior para que a forma de liberação seja automatizada através de um webservice nos protocolos TLS 1.2 , quando essa comunicação não ocorre o sistema não abre e aparece a imagem a baixo.
1º Verifique no banco PAFECF tabela EMPRESA se os dados do CNPJ estão corretos. No banco SIEM seria tabela CD_EMPRESA.
Para sanar o problema siga os seguintes passos:
2º Tente acessar o site : https://api.sistemaempresarialweb.com.br/
Pagina precisa abrir como a imagem a cima, caso apareça como não seguro instale as cadeias como confiáveis disponíveis no link :
https://cloud.softensistemas.com.br/index.php/s/GjNLSDLq74rtSd9
E refaça o teste.
Caso erro persista verifique se o protocolo TLS 1.2 esta ativo no Windows e atualize o sistema operacional até que esteja.
Em casos raros será necessário configurar o anti-virus ou firewall para não bloquear o webservice.
Em algum outros casos será necessário redefinir o DNS para isso realize:
Abra o prompt de comando pressione as teclas Windows e R simultâneamente e na janela que abrir, digite cmd e dê enter, ou vá em busca e digite cmd.
digite o comando
ipconfig /flushdns
Se mesmo assim não obtiver sucesso defina o DNS do Google, como nos passo a baixo
Definindo DNS no Windows.
CLOUD: Em caso de erro de comunicação TLS/SSL, comparar os registros de criptografia do servidor funcional com os do servidor afetado. Exportar a configuração correta do servidor que funciona, importar no servidor com falha e reiniciar para validação.
Comparação das cipher suites
Foi executado nos dois servidores, bom e ruim:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010002" /v Functions > C:\Temp\CIPHERS.txt
Resultado encontrado
O servidor com problema estava com uma lista de cifras moderna/incompatível, iniciando com:
TLS_AES_256_GCM_SHA384
TLS_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
...
Essa lista apareceu no arquivo do servidor ruim.
O servidor que funcionava estava com uma lista compatível com Windows Server 2012 R2, com cifras como:
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256
...
Essa lista apareceu no arquivo do servidor bom.
Conclusão: a causa era a lista de cipher suites do servidor ruim.
7. Correção aplicada
7.1 Backup da chave no servidor ruim
mkdir C:\Temp
reg export "HKLM\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010002" C:\Temp\SSL-LOCAL-RUIM-BACKUP.reg /y
7.2 Exportar a chave correta no servidor bom
No servidor bom:
reg export "HKLM\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010002" C:\Temp\SSL-LOCAL-BOM.reg /y
Depois copiar o arquivo:
C:\Temp\SSL-LOCAL-BOM.reg
para o servidor ruim.
7.3 Importar a chave no servidor ruim
No servidor ruim:
reg import C:\Temp\SSL-LOCAL-BOM.reg
7.4 Reiniciar o servidor
shutdown /r /t 0
8. Validação final
Após reiniciar, testar novamente:
[Net.ServicePointManager]::SecurityProtocol=[Net.SecurityProtocolType]::Tls12; try { $r=Invoke-WebRequest -Uri "https://api.sistemaempresarialweb.com.br/" -UseBasicParsing -TimeoutSec 30; "API OK - HTTP $($r.StatusCode)" } catch { if ($_.Exception.Response) { "API OK - HTTP " + [int]$_.Exception.Response.StatusCode + " " + $_.Exception.Response.StatusCode } else { "API FALHA: " + $_.Exception.Message; if ($_.Exception.InnerException) { "DETALHE: " + $_.Exception.InnerException.Message } } }
Resultado esperado:
API OK - HTTP 401