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 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.

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.

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>