Páginas filhas
  • ER_PCREQ-10230_Integracao_Henry_Hexa

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

Informações Gerais

Especificação

Produto

TSA

Módulo

Integrador

Segmento Executor

Supply Chain

Projeto

D_MAN_TSA002

IRM

PCREQ-10228

Requisito

PCREQ-10230

Subtarefa

PDRMAN-8478

Objetivo

Integrar o TSA ao Henry Hexa, atendendo ao protocolo com as especificações da portaria do Inmetro.

 

 

A integração com o Henry Hexa está sendo liberado no pacote 12.1.11 na forma BETA. Para que o cliente possa usar essa integração (receber suporte) neste pacote o mesmo deverá entrar em contato com a Totvs se candidatando como piloto.

Definição da Regra de Negócio

O referido protocolo é uma adaptação do protocolo 8X para a portaria do Inmetro. O protocolo 8X já está implementado para os equipamentos Henry Prisma e SuperFácil. Todas as funcionalidades existentes no 8X devem coexistir no Hexa. Os comandos devem ser reutilizados, a comunicação (ListenerSender) deve ser totalmente separada devido ao controle de sessão presente no Hexa. O acoplamento das duas integrações será alto em termos de comandos.

 

Particularidades a implementar:

 

    1. Criptografia
      Implementar comando RA e EA: A mensagem RA pede ao dispositivo qual a chave pública RSA do equipamento. A chave RSA é utilizada apenas para criptografar a chave de sessão que é enviada na sequência ao equipamento gerada pelo próprio TSA. O Fluxo segue a seguinte regra: -
      1. Requisição RA → Pede ao equipamento qual a chave pública
       -
      1. Resposta RA ← Recebe a chave RSA 1024 encriptada em Base64
       -
      1. TSA Gera uma chave AES/CBC 128
       -
      1. Requisição EA → Envia ao REP qual a chave que o TSA irá se comunicar com o equipamento durante a sessão, junto com um login e senha de autenticação no dispositivo
      .
       -
      1. Resposta EA ← Com o retorno de recebimento positivo o TSA deve iniciar a sessão de comunicação para que os próximos comandos sejam enviados ou recebidos.

        Implementar codificação dos demais pacotes: Após o início da sessão, o TSA terá em sua memória a chave AES gerada, a partir disso, todas mensagens enviadas ao equipamento, já codificadas para Prisma e SuperFácil, deverão ser criptografadas e "encodadas" em Base64. E todas as respostas do REP ao TSA serão descriptografadas usando esta mesma chave. A conexão entre o REP e o TSA será fechada sempre que não houver mais pacotes a serem enviados/recebidos. Dessa forma, quando existir um novo comando a ser enviado o TSA irá enviar novamente o comando RA e o ciclo se reinicia. A chave simétrica AES 128 enviada no comando EA deve ser regerada de tal forma que a cada nova conexão com o REP se tenha uma nova chave privada, garantindo assim, ainda mais segurança.

    2. Criar usuário:

      Para o cliente configurar um usuário e senha, o cliente deve criar estes usuários primeiramente nos equipamentos. Para isso, o cliente deve:

      1. Acessar o IP do equipamento pelo Browser (Ex: http://192.168.10.10/)

      2. Se logar utilizando o usuário: rep e a senha: 123456. 

      3. Com este usuário e senha já de fábrica, o cliente deve criar um novo usuário e uma nova senha para que o TSA se comunique com o equipamento

      4. Configurar na tela de manutenção de dispositivos do TSA o usuário e senha configurado no equipamento

      Observação: O usuário rep não é autorizado para efetuar a comunicação entre o TSA e o equipamento, por isso tem a necessidade de manualmente criar os usuários e senhas.

  1. Biometria:
    • No protocolo PIII Hexa os comandos do protocolo PII 8X de recebimento (2Ah) e inclusão/exclusão (C9h) de biometria foram descontinuados. Agora é necessário usar os comandos 35h (recebimento de template genérico) e E1h (envio/exclusão de template genérico). As diferenças entre os novos comandos e os antigos são bastante sutis, dessa forma deve-se continuar usando os comandos do PII, porem, quando o comando for enviado ao PIII o listenerSender deve adicionar essas diferenças no pacote. Do mesmo modo, quando uma digital for recebida ela deve ser gravada no banco no mesmo padrão que o PII reconhece.de biometria serão reutilizados e as biometrias devem ser compatíveis entre os dois protocolos. 

       

      As digitais que foram cadastradas usando um REP Printpoint IIPrisma/SuperFácil, poderão ser atualizadas no REP Printpoint IIIHexa. Desde que o módulo biométrico seja do mesmo tipo e possua a mesma sensibilidade de leitura.

       

      Este requisito homologa apenas o padrão biométrico sagemsuprema.

 

 

Dicionário de Dados

Para conseguir usar o PrintPoint III na versão 12.1.9, será necessário rodar o script abaixo:

Banco

Script

SQL Server

SET IDENTITY_INSERT MODEL ON

INSERT INTO MODEL(ID,MODEL_CODE,DESCRIPTION,DISPOSIT_CLASS_NAME,DISPOSIT_PARSER_CLASS_NAME,LISTENER_CLASS_NAME,LISTENER_SENDER_CLASS_NAME,MANUFACTURER,MODEL_TYPE,RMI_CLASS_NAME,SENDER_CLASS_NAME,SERVER_CLASS_NAME,REP,TWO_READERS) VALUES (44,14,'Dimep PrintPoint III (REP Inmetro)','com.datasul.hr.controleAcesso.server.dimep.protocolo.repinmetro.DimepREPInmetroDevice','','','com.datasul.hr.controleAcesso.server.dimep.protocolo.repinmetro.DimepREPInmetroListenerSender',3,0,'com.datasul.hr.controleAcesso.server.dimep.protocolo.rep.command.CommandControlRMIDimepREP','','com.totvs.hcm.accesscontrol.server.ListenerSenderServer',1,0);
SET IDENTITY_INSERT MODEL OFF

Oracle

 alter table DEVICE_CONFIGURATION modify value varchar(600);

INSERT INTO MODEL(ID,MODEL_CODE,DESCRIPTION,DISPOSIT_CLASS_NAME,DISPOSIT_PARSER_CLASS_NAME,LISTENER_CLASS_NAME,LISTENER_SENDER_CLASS_NAME,MANUFACTURER,MODEL_TYPE,RMI_CLASS_NAME,SENDER_CLASS_NAME,SERVER_CLASS_NAME,REP,TWO_READERS) VALUES (44,14,'Dimep PrintPoint III (REP Inmetro)','com.datasul.hr.controleAcesso.server.dimep.protocolo.repinmetro.DimepREPInmetroDevice','','','com.datasul.hr.controleAcesso.server.dimep.protocolo.repinmetro.DimepREPInmetroListenerSender',3,0,'com.datasul.hr.controleAcesso.server.dimep.protocolo.rep.command.CommandControlRMIDimepREP','','com.totvs.hcm.accesscontrol.server.ListenerSenderServer',1,0);

MySQL

alter table DEVICE_CONFIGURATION modify value varchar(600);

INSERT INTO MODEL(ID,MODEL_CODE,DESCRIPTION,DISPOSIT_CLASS_NAME,DISPOSIT_PARSER_CLASS_NAME,LISTENER_CLASS_NAME,LISTENER_SENDER_CLASS_NAME,MANUFACTURER,MODEL_TYPE,RMI_CLASS_NAME,SENDER_CLASS_NAME,SERVER_CLASS_NAME,REP,TWO_READERS) VALUES (44,14,'Dimep PrintPoint III (REP Inmetro)','com.datasul.hr.controleAcesso.server.dimep.protocolo.repinmetro.DimepREPInmetroDevice','','','com.datasul.hr.controleAcesso.server.dimep.protocolo.repinmetro.DimepREPInmetroListenerSender',3,0,'com.datasul.hr.controleAcesso.server.dimep.protocolo.rep.command.CommandControlRMIDimepREP','','com.totvs.hcm.accesscontrol.server.ListenerSenderServer',1,0);

 

 

 

 

 

 

 

 

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.