01. DADOS GERAIS

Linha de Produto:

Datasul

Segmento:Saúde
Módulo:TOTVS Saúde Planos (Linha Datasul)


02. SITUAÇÃO/REQUISITO

O objetivo desta funcionalidade é disponibilizar uma nova forma de captura da biometria uma vez que o plugin Java será desativado em breve, conforme comunicado

03. SOLUÇÃO

Para isto, foi desenvolvido um novo componente denominado TSA (Totvs Smart Agent). Este componente esta disponível para a leitora Nitgen Hamster DX (HFDU01 a HFDU06), BioFlex TechMag BIOFII-S180 e DigitalPersona 4000B.


  • Windows 7 Service Pack 2 ou superior.
  • Entrada USB 2.0 ou superior.
  • Navegadores: Microsoft Edge, Internet Explorer 11, Chrome 50 ou superior ou Firefox.
  • Aparelho de biometria.
  • 500Mb de espaço livre em disco.
  • HAW - Autorizador Web - 12.1.23 ou superior.

É possível a utilização do TSA antigo e novo e de diferentes leitoras na mesma maquina.

O processo é demonstrado em um GIF a seguir.

  • Realizar o download do TSA correspondente para a maquina.
  • Extrair os arquivos
  • Executar o TotvsSmartAgentHTTP64.exe ou TotvsSmartAgentHTTP32.exe
  • Pronto, a instalação foi realizado com sucesso.

Para selecionar o dispositivo de biometria que será utilizado é necessário cadastrar a propriedade com.totvs.saude.biometria.totvstec.appdevice onde deve ser informado o tipo de leitora desejado. As opções disponíveis são NITGEN , BIOTOUCH e DIGITALPERSONA.

Para definir qual o tipo do TSA (TSA novo,com HTTP ou HTTPS, ou o TSA antigo) será utilizado é verificada a propriedade com.totvs.saude.biometry.https.

Valor PropriedadeDescrição
Não cadastradaSerá utilizada o TSA antigo, este só esta disponível na versão HTTP.
false

Será utilizado o novo TSA com HTTP.

trueSerá utilizado o novo TSA com HTTPS.

A seguir encontram-se as configurações para atualiza automaticamente o TOTVS SmartAgent HTTP.

O TSA irá realizar a verificação de uma atualização a cada 24 horas, a verificação será feita através de um arquivo json na url configurada no smartagent.ini.

Abaixo tem um exemplo da seção Update que deve ser informada no arquivo smartagent.ini para habilitar a atualização automática.

[Update]
URL=http://10.171.71.224/update.json

Estrutura do json que a url deve retornar:

{
	"latest-version": "3.0",
	"download-url": "http://10.171.71.224/SmartAgentHTTP.zip",
	"force-update": false
}
ParâmetroDescriçãoTipo
latest-versionNúmero da versão do TOTVS | SmartAgent HTTP contida na URL indicada em download-urlstring
download-urlURL contendo o arquivo ZIP com a nova versão do TOTVS | SmartAgent HTTPstring
force-updateIndica se força a atualização ou nãoboolean

Caso a versão indicada no parâmetro latest-version seja maior do que a versão atual ou o parâmetro force-update estiver com valor true, o TSA notificará a existência de atualização.

Ao clicar na notificação de atualização, o TSA irá:

  • Fazer o download do arquivo ZIP indicado pelo parâmetro download-url
  • Extrair o conteúdo numa pasta temporária
  • Verificar quais dos arquivos existentes na pasta temporária são diferentes em relação à instalação atual
  • Fechar o TSA Substituir os arquivos
  • Reiniciar o TSA

Observações

  • O arquivo ZIP não deve conter um instalador, pois não será executado.
  • Todos arquivos contidos no arquivo ZIP devem existir na pasta de instalação atual, mesmo que sejam iguais.
  • Caso seja colocado algum arquivo adicional, o mesmo não será copiado; caso seja igual ao existente, não será atualizado.

Para simplificar a instalação, o instalador vai extrair os arquivos de configuração da pasta data.zip presente no mesmo diretório.

O instalador que disponibilizamos já possui o arquivo data.zip contendo as dll necessárias para o funcionamento do TSA.

 

Dentro do arquivo podem ser colocados os arquivos tsa.bin e smartagent.ini além das dlls já adicionadas.

Os arquivos serão extraídos na pasta de instalação do TSA.

As configurações são feitas no arquivo smartagent.ini, este arquivo fica localizado no diretório do TSA.

Exemplo de configuração para HTTPS:

[General]
Port=21004
SSL=1
[Update]
URL=http://10.171.71.224/update.json

Configuração

Descrição

Port

Define a porta em que será hospedado o serviço do TSA.

Portas padrões:

Porta

Utilização

21000TSA antigo
21001TSA antigo Nitgen
21002TSA antigo Biotouch
21003Novo TSA com HTTP
21004Novo TSA com HTTPS
SSL

Define se será utilizado SSL.

Portas padrões:

Valor

Resultado

0 (Padrão)Não utiliza o SSL para a conexão (HTTP)
1Utiliza o SSL para a conexão (HTTPS)
URL

Url que retorna um json contendo os dados da ultima versão disponível.

Esta configuração está detalhada na aba Atualização Automática.

Vídeo How-to ensinando a instalar.

Para gerar um certificado auto assinado foi utilizado o OpenSSL.
Link para download do OpenSSL para windows.

Por padrão o OpenSSL é criado na pasta C:\Program Files\OpenSSL-Win64 caso a instalação seja para 64 bits e na pasta C:\Program Files (x86)\OpenSSL-Win32 para instalação 32 bits.

Na pasta bin foi aberto o CMD como administrador.

 

Foi utilizado o seguinte comando para gerar o certificado.

openssl req -new -newkey rsa:4096 -nodes -keyout minhachaveprivada.key -out meucertificado.csr -days 36500 -subj /CN=127.0.0.1
  • "-newkey": gera um par de chaves para utilizar no certificado.
  • "rsa:" : define a quantidade de bits que serão utilizados para gerar a chave;
  • "-days" : define a validade do certificado, neste caso 36500 o certificado tem validade de 100 anos;
  • "-keyout" : nome do arquivo gerado que conterá a chave privada do certificado;
  • "-out" : nome do arquivo gerado que conterá o certificado;
  • "-subj /CN": utilizado para definir para qual site o certificado é valido, neste caso o TSA utiliza o IP 127.0.0.1;

O certificado e chave serão gerados na pasta do OpenSSL.

É necessário criar um arquivo de configurações e colocar os seguintes dados.

# v3.ext
subjectAltName = IP:127.0.0.1

Para converter o certificado para formato pem foi utilizado o seguinte comando.

openssl x509 -req -sha256 -days 36500 -in meucertificado.csr -signkey minhachaveprivada.key -out meucertificado.pem -extfile v3.ext
  • "-sha256": Algorítimo de hash que será utilizado pelo certificado;
  • "-days" : define a validade do certificado, neste caso 36500 o certificado tem validade de 100 anos;
  • "-signkey" : nome do arquivo gerado que conterá a chave privada do certificado;
  • "-in" : nome do arquivo de certificado gerado anteriormente;
  • "-out": nome do arquivo que será gerado com o certificado em formato pem;
  • "-extfile": nome do arquivo com configurações para definir o IP alternativo (Necessário para o Chrome funcionar corretamente);

Os passos seguintes mostram o processo de instalação do certificado.

  • 1 - Passo: alterar a extensão do arquivo .pem para .crt

  • 2 - Passo: Clicar duas vezes no certificado, será aberto uma janela e na parte de baixo desta existe um botão instalar certificado.

  • 3 - Passo: Para instalar o certificado deve-se clicar em avançar e instalar o certificado como um Autoridade Certificadora.

O certificado deve ser criptografado para fazer com que apenas o TotvsSmartAgent tenha acesso ao conteúdo.

Para criptografar o certificado foi criado o tsaencryptor.exe. É possível realizar o download da ferramenta no ícone abaixo:


O seguinte comando é utilizado para criptografar o certificado, o comando deve ser rodado no CMD na pasta em que foi feito o download do tsaencryptor.exe.

tsaencryptor.exe -c meucertificado.pem -k minhachaveprivada.key -p senhadaminhachave
ParâmetrosDescrição 
-cNome ou caminho do certificado valido em formato .pem
-kNome ou caminho da chave do certificado em formato .key
-pSenha do arquivo da chave

Após rodar o comando será criado o arquivo tsa.bin no diretório onde o comando foi executado.

Este aquivo é o certificado criptografado, ele deve ser colocado na pasta de instalação do TSA.

É necessário apenas configurar o smartagent.ini com a porta correta e colocar o arquivo na pasta de instalação do TSA.

A partir da instalação e validação do componente, o sistema está apto para realizar a captura.



A tela de captura informa se esta realizando o processo utilizando o "TSA".


<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}

.aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { 
	background: #FF9900; !important 
}

.menu-item.active-tab { 
	border-bottom: none !important; 
}

</style>