Page tree
Skip to end of metadata
Go to start of metadata

Na versão 19.3.0.x a porta de comunicação entre TOTVS | Application Server e TOTVS | SmartClient passa a trafegar dados de forma segura, com isso alguns detalhes precisam ser avaliados antes da migração. Para a comunicação segura é necessário a utilização de um certificado digital, com isso temos alguns cenários, descritos abaixo.

Porta Multi Protocolo, pra que?

O TOTVS | Application Server a partir da versão 19.3.0.x poderá prover diversas funcionalidades através uma porta unificada, além de também prover nesta porta funcionalidade de conexão segura (SSL)

Esta porta poderá receber conexões:

  • SmartClient (Desktop)
  • SmartClient Electron
  • HTTP pelo TWebEngine Smart Client
  • novo REST Server
  • SmartClient WebApp


Existem algumas vantagens nesse modelo, seguem as principais:

  • Fácil configuração
  • Segurança para proteção dos dados do cliente 
  • maior praticidade ambientes CLOUD
  • Integração sem configuração do REST atual (WSRESTFUL) com o novo REST Server
  • Integração de aplicação Portinari/THF
  • Integração de aplicações usando o TWebEngine
Configuração SSLConfigure
Quando a seção SSLConfigure estiver habilitada no arquivo de configuração (appserver.ini) e com um certificado configurado, estas configurações serão utilizadas para a comunicação entre TOTVS | Application Server e TOTVS | SmartClient.
Tenho a configuração SSLConfigure, mas quero utilizar um certificado diferente
Quando desejado a utilização de um certificado digital diferente do indicado na seção  SSLConfigure, devemos incluir a seguinte configuração no arquivo appserver.ini: Seção [MPP]
[MPP]
SSL_Certificate=c:\totvs\certs\mycert.pem
SSL_Key=c:\totvs\certs\priv-key.pem

ou

[MPP]
SSL_Default=1
Ambiente sem configuração SSLConfigure

Quando não existir nenhuma configuração de conexão segura o TOTVS | Application Server utilizará um certificado digital padrão, distribuído em conjunto com o TOTVS | Application Server, esse certificado permitirá que conexões do Smartclient ocorram de forma transparente para o usuário.
Os arquivos são distribuídos na pasta padrão do TOTVS | Application Server e tem validade somente para localhost.


Por padrão os arquivos distribuídos são:
totvs_certificate.crt - arquivo de certificado
totvs_certificate_key.pem - arquivo de chave do certificado
totvs_certificate_CA.crt - arquivo de certificadora da que deve ser instalado nas estações dos clientes, a fim de validar o certificado (totvs_certificate.crt). veja em: Application Server - Porta Multiprotocolo - Instalação de Certificado

Acessos locais e/ou externos por IPs, Nomes ou URLs

Para acessos por IPs, Nomes ou URLs, quando se fizer uso via Browser ou aplicações do TOTVS | SmartClient que utilizem conexões via Rest, será necessário a geração um certificado digital específico que contemple os endereços (IPs, Hostnames, URLs) utilizados, ou que o cliente utilize o seu próprio certificado.

Não quero utilizar a comunicação segura, o que devo fazer ?

A TOTVS não recomenda desligar a comunicação segura, mas existe essa possibilidade incluindo a configuração MultiProtocolPortSecure no appserver.ini:

[Drivers]
MultiProtocolPortSecure=0

Não quero utilizar a porta Multi Protocolo, o que devo fazer

A TOTVS não recomenda desligar a porta Multi Protocolo, pois algumas aplicações podem não funcionar corretamente, mas existe essa possibilidade incluindo a configuração MultiProtocolPort appserver.ini:

[Drivers]
MultiProtocolPort=0

E as outras conexões do Application Server, como ficam ?
  • Comunicação Master / Slave

A comunicação entre Application Server Master e os Slaves, por padrão, também passa a utilizar uma comunicação segura, respeitando as mesmas configurações explicitadas nos itens anteriores, ou seja, se o servidor estiver com conexão segura habilitada, usa conexão segura com todos os Slaves, se conexão segura estiver desabilitada ele faz conexão com os Slaves de forma não segura, todavia é possível alterar a forma de conexão com um Slave específico alterado a chave "SecurePort" veja como em: Seção [ServerNetwork] - Chave Servers.


  • Comunicação RPC

A comunicação entre Application Server para a execução de rotinas remotamente, por padrão, também passa a utilizar uma comunicação segura, respeitando as mesmas configurações explicitadas nos itens anteriores, , ou seja, se o servidor estiver com conexão segura habilitada, usa conexão segura com os Servidores Remotos, se conexão segura estiver desabilitada ele faz conexão com os Servidores Remotos de forma não segura, todavia é possível alterar a forma de conexão com um Servidor Remoto específico alterado a sua conexão "Connection".

É possível se especificar se a conexão com o servidor de Aplicação é segura ou não na própria função "TRpc", veja em: TRpc, e para saber as informações sobre a porta deste servidor de aplicação use a função: GetPort.

Obs. Caso existam diferenças entre os Application Servers que estão se comunicando poderá ser necessário desabilitar a conexão segura. Por exemplo: Um application Server utilizado em um PDV que utiliza a release 17.3.0.x que se comunica um Application Server na retaguarda que utilizada a release 19.3.0.x. 


  • Comunicação WebApp

A comunicação com o Application Server WebApp pode utilizar a mesma porta de comunicação do SmartClient, por padrão, fazendo o acesso com a URL: https://<endereço do servidor de aplicação>:<porta padrão do smartclient>/webapp

Ex: https://localhost:5012/webapp

Obs. Essa comunicação por padrão, também passa a utilizar uma comunicação segura, caso a conexão segura tenha sido desabilitada o acesso será feito com "http" e não "https".


  • Comunicação LockServer

A comunicação entre Application Server e o LockServer, por padrão, também passa a utilizar uma comunicação segura, respeitando as mesmas configurações explicitadas nos itens anteriores, ou seja, se o servidor estiver com conexão segura habilitada, usa conexão segura com o LockServer, se conexão segura estiver desabilitada ele faz conexão com o LockServer de forma não segura, todavia é possível alterar a forma de conexão com um LockServer. Veja como em: Seção [LockServer] - Chave SecureConnection.