Histórico da Página
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:
- 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: - - 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.
- 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:
Acessar o IP do equipamento pelo Browser (Ex: http://192.168.10.10/)
Se logar utilizando o usuário: rep e a senha: 123456.
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
Configurar na tela de manutenção de dispositivos do TSA o usuário e senha configurado no equipamento
- 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); |
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. |
---|