Upload
phamtu
View
224
Download
2
Embed Size (px)
Citation preview
Manual de Integração do Componente de Segurança
Data de Criação: 26 de abril de 2016
Última Atualização: 22 de dezembro de 2016
Versão: Manual Integração Componente Segurança MFE-CFe 1.0.3
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) II
CONTROLE DE VERSÕES
Versão Data Observações
1.0.0 03/08/2016 Versão inicial
1.0.1 22/09/2016
Revisão na quantidade de Flash necessária para execução do CSE, ajuste da das versões do toolchain e bibliotecas; inclusão dos passos detalhados para a instalação de todos os componentes do Ambiente de Geração de Distribuição de CSE
1.0.2 08/11/2016 Detalhamento da estrutura do sysroot
1.0.3 22/12/2016 Inclusão do bash no ambiente de execução do CSE
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) III
DEFINIÇÕES E SIGLAS
Termo Descrição
AC Aplicativo Comercial Aplicativo para gestão das vendas e solicitação de emissão de Cupons Fiscais de Venda e de Cancelamento. Deve ser compatível com o MFE.
AC SEFAZ-CE Autoridade Certificadora que gerencia (emite e revoga) certificados digitais de equipamentos MFE (e-SAT) reconhecidos pela ICP-Brasil e providos pela própria SEFAZ-CE.
CFe Cupom Fiscal Eletrônico de Venda ou de Cancelamento.
Configurador Aplicativo para configuração e ativação do MFE.
CSE Componente de Segurança
Fabricante Empresa responsável pela fabricação do equipamento MFE
IDE Integrated Development Environment ou Ambiente de Desenvolvimento Integrado
Máquina Virtual Consiste em um software de ambiente computacional, que executa programas como um computador real, também chamado de processo de virtualização
MFE
Módulo Fiscal Eletrônico Equipamento adotado pelo Estado do Ceará para emissão de Cupons Fiscais eletrônicos, nos termos do Projeto CFe, dotado de recursos de hardware e software adicionais necessários ao modelo de negócios do Ceará.
PDV Ponto do Venda Equipamento do Contribuinte onde está conectado o MFE e que realiza a emissão de CFes de venda ou de cancelamento.
Projeto CFe
Conjunto de especificações técnicas definidas pelos documentos de Especificação de Requisitos (ER), Manual de Orientação (MO) e demais documentos estabelecidos pela COTEPE conforme AJUSTE SINIEF nº 11 de 24 de Setembro de 2010 e posteriores alterações.
Projeto MFE
Projeto da SEFAZ-CE para implantação do Cupom Fiscal Eletrônico, baseado no Projeto CFE porém acrescido de funcionalidades específicas para o Estado do Ceará definidas pela SEFAZ-CE no documento de Especificação de Requisitos do MFE (ER-MFE) e demais documentos de apoio disponíveis no sítio eletrônico: HTTP://CFE.SEFAZ.CE.GOV.BR.
SDK Kit de desenvolvimento de software
SEFAZ-CE Secretaria da Fazenda do Estado do Ceará.
sysroot Diretório contendo um sistema de arquivo minimalista (especialmente bibliotecas, biblioteca C e arquivos de cabeçalho).
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) IV
SO Sistema Operacional
SRM-CFe Sistema de Registro de Modelos de Equipamentos
SRM-CFe Testes Sistema de Registro de Modelos de Equipamentos para Testes
SWB Software Básico
TCP Transmission Control Protocol
Virtual Box Máquina Virtual de código Open Source disponibilizada pela Oracle
Watchdog Mecanismo para reinicialização do sistema em caso de ocorrência de falha
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) V
ÍNDICE
1 INTRODUÇÃO ............................................................................................................................................. 1
1.1 DRIVER MFE ....................................................................................................................................... 2
1.2 Componente de Segurança ................................................................................................................. 3
1.3 Suporte Técnico ................................................................................................................................... 3
2 INTERFACE COM O COMPONENTE DE SEGURANÇA .......................................................................... 4
2.1 Protocolo Base (PBS) .......................................................................................................................... 4
2.2 Variáveis de cabeçalho........................................................................................................................ 5
2.3 Fluxo de mensagens ........................................................................................................................... 6
3 INTERFACE COM A BIBLIOTECA DE FUNÇÕES .................................................................................... 7
4 PROCESSOS RELATIVOS AO CSE .......................................................................................................... 8
4.1 PRIMEIRA INTEGRAÇÃO DO CSE .................................................................................................... 8
4.2 Credenciamento do Fabricante ........................................................................................................... 9
4.3 Avaliação de Viabilidade Técnica pela SEFAZ-CE ............................................................................. 9
4.4 Cadastramento do Modelo do Equipamento ....................................................................................... 9
4.5 Disponibilidade de Distribuições CSE ................................................................................................. 9
4.6 Submissão de Insumos para Integração e Testes ............................................................................ 10
4.7 Submissão de Insumos para Geração da Distribuição ..................................................................... 11
4.8 Construção do Ambiente de Compilação da Distribuição do CSE ................................................... 11
4.9 Geração da Distribuição do CSE ....................................................................................................... 12
4.10 Testes do CSE Gerado...................................................................................................................... 12
4.11 Publicação da Distribuição do CSE ................................................................................................... 12
4.12 Integração e Testes pelo Fabricante ................................................................................................. 12
4.13 ATUALIZAÇÃO DO CSE ................................................................................................................... 13
4.14 Geração da Distribuição do CSE ....................................................................................................... 14
4.15 Teste do CSE Gerado ....................................................................................................................... 14
4.16 Publicação da Atualização da Distribuição do CSE .......................................................................... 14
4.17 Atualização remota dos CSE ............................................................................................................. 14
5 PRÉ-REQUISITOS DE SOFTWARE DO EQUIPAMENTO MFE.............................................................. 15
5.1 Ambiente Linux .................................................................................................................................. 15
6 PRÉ-REQUISITOS DE HARDWARE DO EQUIPAMENTO MFE ............................................................. 16
7 INSTALAÇÃO DO COMPONENTE DE SEGURANÇA ............................................................................. 17
7.1 Estrutura de diretórios ....................................................................................................................... 17
7.2 Ambiente Linux .................................................................................................................................. 17
7.3 Procedimento de Instalação .............................................................................................................. 17
7.4 Ambiente Linux .................................................................................................................................. 17
7.5 Configuração da Serial com o PDV ................................................................................................... 18
7.6 Ambiente Linux .................................................................................................................................. 18
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) VI
8 COMPORTAMENTO DURANTE A INICIALIZAÇÃO ................................................................................ 20
8.1 Ambiente Linux .................................................................................................................................. 20
9 OBSERVAÇÕES IMPORTANTES ............................................................................................................ 21
9.1 Ambiente Linux .................................................................................................................................. 21
10 ANEXO I – Ambiente de Geração de Distribuição de CSE ................................................................... 22
10.1 Estrutura de bibliotecas no Sysroot ................................................................................................... 24
11 ANEXO II – Documento de Integração e Teste do Equipamento MFE ................................................ 25
12 ANEXO III – Distribuições de CSE ........................................................................................................ 26
12.1 Cortex_A8_AM335x_Linux_3.14 ....................................................................................................... 26
13 ANEXO IV – Configuração da VM VirtualBox para o Ambiente de Geração de Distribuição de CSE . 27
14 ANEXO V – Instalação do Debian no Ambiente de Geração de Distribuição de CSE ......................... 31
15 ANEXO VI – Compilação do Componente de Segurança .................................................................... 45
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 1
1 INTRODUÇÃO
A SEFAZ-CE adota todas as Especificações Técnicas do Projeto CFe acrescidas de funcionalidades
específicas para o Estado do Ceará, onde o projeto é chamado de MFE (Módulo Fiscal Eletrônico).
Com o intuito de padronizar a comunicação entre o MFE e o equipamento do Contribuinte e aumentar a
eficiência desse novo modelo de emissão de documentos fiscais, a SEFAZ-CE fornece os componentes de
software Driver MFe-CFe e Componente de Segurança, que devem ser instalados no equipamento do
Contribuinte e no módulo MFE, respectivamente.
Assim, para a emissão de Cupons Fiscais Eletrônicos são necessários os seguintes componentes:
Figura 1 – Arquitetura da solução MFE
Este documento destina-se aos fabricantes de MFE que necessitam integrar o Componente de
Segurança em seu equipamento MFE.
OBS: Para maior detalhamento da arquitetura da solução MFE e requisitos do Software Básico, favor
consultar documento de Especificação de Requisitos ER do MFE.
Todos os softwares, documentos e informações disponibilizados pela SEFAZ-CE podem ser obtidos no sítio:
http://cfe.sefaz.ce.gov.br
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 2
1.1 DRIVER MFE
Componente de software disponibilizado pela SEFAZ-CE a ser instalado no Ponto de Venda do
Contribuinte. A principal função deste componente é prover uma interface de comunicação entre o Aplicativo
Comercial e o equipamento MFE.
O Driver SEFAZ é composto pelos seguintes componentes:
Tabela 1 - Componentes de software do Driver MFE
Componente Descrição
Biblioteca de Funções Biblioteca de funções de carregamento dinâmico (arquivo com extensão “.DLL” no
Windows ou “.SO” no Linux) que disponibiliza para as aplicações (AC/Software de
Ativação) todas as funcionalidades necessárias para a operação do equipamento
MFE padronizando assim toda a comunicação.
Em ambiente Windows 32 bits ela se chama mfe.dll e se encontra na pasta:
C:\WINDOWS\System32
Em ambiente Windows 64 bits ela se chama mfe.dll e se encontra na pasta:
C:\WINDOWS\SystemWOW64
Em ambiente Linux, a biblioteca libmfe.so é instalada na pasta /opt/sefaz/drs/
Monitor Aplicação que informa, através de ícones na barra de status do sistema
operacional, a disponibilidade ou não de um equipamento MFE e permite a
visualização de algumas informações.
Comunicador É uma aplicação executada como um serviço, que atende pela porta 9012/TCP, e
é responsável por realizar a comunicação com o equipamento MFE.
Serão disponibilizadas versões Linux e Windows desse componente no endereço: http://cfe.sefaz.ce.gov.br
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 3
1.2 Componente de Segurança
É uma aplicação fornecida pela SEFAZ-CE que será obrigatoriamente embarcada no MFE e operará em
conjunto com o Software Básico.
Esse componente é responsável por:
Realizar a comunicação com o PDV através do serviço Comunicador do Driver MFE pela porta USB;
Repassar para o Software Básico todas as funções chamadas pelo Aplicativo Comercial ou Software
de Ativação;
Coletar informações operacionais e fiscais do MFE;
Informar à SEFAZ-CE sobre eventuais problemas com o MFE e suas condições de operação;
O Componente de Segurança será disponibilizado somente na plataforma Linux.
O restante do documento detalhará os processos de obtenção de uma versão de CSE para o ambiente
específico do fabricante.
1.3 Suporte Técnico
A SEFAZ-CE proverá Suporte Técnico para os Fabricantes de equipamentos MFE através dos seguintes
meios:
Sítio eletrônico da Secretaria da Fazenda
o http://cfe.sefaz.ce.gov.br
Telefone
o Call Center 0800-707-8585
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 4
2 INTERFACE COM O COMPONENTE DE SEGURANÇA
Toda comunicação entre o Software Básico e o Componente de segurança será realizada por um protocolo
denominado Protocolo Base. As seções seguintes descrevem esse protocolo, as variáveis definidas no
cabeçalho do protocolo e uma visão geral do fluxo de mensagens.
2.1 Protocolo Base (PBS)
É um protocolo de codificação de mensagem simples independente de mecanismo de transporte de dado.
Uma mensagem PBS pode ser dividida em duas partes: cabeçalho e corpo (dados).
A seguir o formato da mensagem PBS é detalhado em notação BNF aumentada:
message ::= header body
header ::= protocol-id headers
protocol-id ::= “smx” CR LF
headers ::= definition headers
| end-headers
definition ::= name “:” value CR LF
name ::= 1*(ALPHA)
value ::= 1*(ALPHA)
end-headers ::= CR LF CR LF
body ::= *(OCTET)
Da gramática acima, observa-se o seguinte:
Toda mensagem inicia-se com a string literal “smx” (Start of Message eXchange), que marca o início do
cabeçalho, terminada pelo marcador de fim de linha CR LF. Em seguida, uma ou mais ocorrências de nome
e valor separados por dois pontos (:) e terminadas por CR LF. O final do cabeçalho e o início do corpo ou
body é marcado por duas linhas em branco (CR LF CR LF). O corpo da mensagem, por sua vez, é uma
sequência de zero ou mais octetos. Note a similaridade com protocolos tais como STOMP e HTTP, indicando
influências de recomendações do W3C.
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 5
2.2 Variáveis de cabeçalho
A Tabela 2 define as variáveis de cabeçalho que devem ser definidas utilizando o protocolo PBS.
Tabela 2 - Estrutura do cabeçalho do protocolo Base
Nome Definição Valor
code Código da mensagem. Identificação em formato string da mensagem.
content-size Tamanho do corpo da mensagem. Quantidade de bytes do corpo da mensagem.
content-type Codificação do tipo de conteúdo
da mensagem.
octet-stream : indica uma sequência de bytes qualquer.
z-compressed: sequência de bytes está comprimida
utilizando-se a zlib; usado somente se a mensagem está
comprimida.
content-
uncompressed-
size
Tamanho esperado da mensagem
após descompressão.
Valor em decimal. Usado somente quando a mensagem
está comprimida (content-type:z-compressed).
edc-type Tipo de código de detecção de
erro (Error Detection Code)
Atualmente, somente um tipo: crc16-ccitt. Ou seja, CRC-
16. O código de detecção de erro protege a integridade
do corpo da mensagem.
edc-word Valor da palavra de detecção de
erro.
Valor codificado em decimal.
source Código de origem da mensagem.
Valor codificado em decimal.
Pode assumir os seguintes valores:
CSE:"5"
SWB:"6"
Version Versão do protocolo de codificação
da mensagem
Marca a versão desta especificação.
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 6
2.3 Fluxo de mensagens
A seguir o conjunto dos valores “code” e o fluxo das mensagens:
Tabela 3 - Fluxos das mensagens entre os componentes do sistema
Code Origem Destino
Fu
nç
ões
SA
T
AtivarSAT Biblioteca de Funções Software Básico
ComunicarCertificadoICPBRASIL Biblioteca de Funções Software Básico
EnviarDadosVenda Biblioteca de Funções Software Básico
CancelarUltimaVenda Biblioteca de Funções Software Básico
ConsultarSAT Biblioteca de Funções Software Básico
TesteFimAFim Biblioteca de Funções Software Básico
ConsultarStatusOperacional Biblioteca de Funções Software Básico
ConsultarNumeroSessao Biblioteca de Funções Software Básico
ConfigurarInterfaceDeRede Biblioteca de Funções Software Básico
AssociarAssinatura Biblioteca de Funções Software Básico
AtualizarSoftwareSAT Biblioteca de Funções Software Básico
ExtrairLogs Biblioteca de Funções Software Básico
BloquearSAT Biblioteca de Funções Software Básico
DesbloquearSAT Biblioteca de Funções Software Básico
TrocarCodigoDeAtivacao Biblioteca de Funções Software Básico
Fu
nç
ões
Ad
icio
na
is
ConfigurarInterfaceDeRedeMFE Biblioteca de Funções Software Básico
ConsultarStatusOperacionalMFE Biblioteca de Funções Software Básico
EnviarStatusAC Biblioteca de Funções Software Básico
CodigoErro Biblioteca de Funções Biblioteca de Funções
Fu
nç
ão
Inte
gra
çã
o
ConsultarStatusMFE Componente de Segurança Software Básico
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 7
3 INTERFACE COM A BIBLIOTECA DE FUNÇÕES
Consulte o documento “Manual Desenvolvedores AC“ para detalhamento a respeito das funções do
Equipamento disponibilizadas na Biblioteca de Funções do Driver MFE.
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 8
4 PROCESSOS RELATIVOS AO CSE
4.1 PRIMEIRA INTEGRAÇÃO DO CSE
Para cada Modelo de equipamento MFE fornecido pelos fabricantes, caso não haja distribuição disponível,
será necessária a geração de uma distribuição específica do Componente de Segurança para execução no
ambiente de Hardware e Software de cada um desses Modelos. A Figura 1 ilustra o processo da primeira
integração do Componente de Segurança em um determinado Modelo de MFE.
SEFAZ-CEFabricante
Requisita
Credenciamento de
Fabricante
Início
Aprova
Credenciamento
Submete avaliação de
viabilidade técnica da
plataforma
Realiza avaliação da
viabilidade técnica
Cadastra Modelo do
Equipamento MFE no
SRM-CFe Testes
Submete Insumos para
Integração e Testes
Avaliação positiva ?
Ajusta configuração da
plataforma
Armazena Insumos
para Integração e
Testes
Distribuição de CSE
disponível?
Armazena Insumos
para Geração da
Distribuição
Submete Insumos
para Geração da
Distribuição
Constrói Ambiente
de Compilação
Gera nova
distribuição de CSE
Obtém nova
distribuição de CSE
Realiza Testes do
CSE gerado
Publica nova
distribuição do CSE
Nova distribuição de
CSE? Realiza Integração e
Testes do Fabricante
Fim
Fim
Obtém distribuição
de CSE já
disponível
Distribuição de CSE
disponível?
Sim
Não
Não
Sim
Não Sim
Sim Não
Figura 1 - Processo de Integração CSE
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 9
4.2 Credenciamento do Fabricante
A empresa que deseja fabricar um equipamento MFE deverá primeiramente realizar o seu credenciamento
no Portal SRM-CFe (Sistema de Registro de Modelos de Equipamentos). Uma vez que o credenciamento do
Fabricante tenha sido aprovado pela SEFAZ, o mesmo estará apto a realizar consultas técnicas sobre a
viabilidade técnica de seus Módulos Fiscais MFE.
4.3 Avaliação de Viabilidade Técnica pela SEFAZ-CE
O Projeto MFE para o Estado do Ceará estabelece que o equipamento MFE deverá executar um componente
de software denominado CSE, disponibilizado pela SEFAZ-CE para uma determinada configuração de
Hardware e Software de equipamento MFE. O CSE foi desenvolvido no Framework QT utilizando um
conjunto obrigatório de bibliotecas de software definidas no capítulo 5. Por isso, exige uma configuração
mínima de hardware e software que precisa ser avaliada pela equipe técnica da SEFAZ-CE a fim de verificar
a viabilidade de execução do Componente de Segurança no equipamento MFE que será desenvolvido.
A avaliação técnica deverá ser feita através do e-mail de suporte da SEFAZ-CE e deverão ser informadas,
pelo menos, as seguintes informações a respeito do equipamento MFE pretendido:
Código do Modelo e Fabricante do Processador do equipamento MFE;
Quantidade disponível de Memória RAM;
Quantidade disponível de Memória Flash (ou equivalente para carga do sistema de arquivos);
Modelo e Versão do Sistema Operacional utilizado;
Qualquer outra informação que julgar pertinente para compreensão do ambiente de software e
hardware disponível para execução do CSE.
4.4 Cadastramento do Modelo do Equipamento
Com o aval técnico da SEFAZ-CE, o Fabricante deverá então cadastrar o Modelo do Equipamento pretendido
no SRM-Cfe Testes (Sistema de Registro de Modelos para Testes).
4.5 Disponibilidade de Distribuições CSE
A avaliação de viabilidade técnica pela SEFAZ-CE poderá indicar a existência de uma distribuição CSE já
disponível para o Hardware/Software do equipamento MFE pretendido. Nesse caso, não será necessária a
construção de um Ambiente de Geração de Distribuição de CSE. As distribuições disponíveis estão
descritas no
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 10
ANEXO I – Ambiente de Geração de Distribuição de CSE.
A SEFAZ-CE, uma vez com os insumos necessários, poderá passar para a fase de integração e testes para
verificar se o CSE está funcionando com sucesso no equipamento MFE.
4.6 Submissão de Insumos para Integração e Testes
A fim de permitir a integração da distribuição do CSE no equipamento MFE e a realização de testes, é
necessário que o fabricante disponibilize os seguintes insumos:
4.7 Documento de Integração e Testes do Equipamento MFE (Estrutura de
bibliotecas no Sysroot
A organização estrutura do sysroot deve seguir a Tabela 12 no que se refere a localização das bibliotecas.
Tabela 12 - Organização estrutura de bibliotecas do sysroot
Diretório Conteúdo
[toolchains-sysroot]
Diretório base de instalação do sysroot do SDK.
[toolchains-sysroot]/usr/lib Bibliotecas estáticas (*.a) e dinâmicas (*.so)
[toolchains-sysroot]/lib
[toolchains-sysroot]/usr/lib/*/include Os arquivos de cabeçalho (*.h)
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 11
ANEXO II – Documento de Integração e Teste do Equipamento MFE);
1 equipamento MFE de teste (ou plataforma de hardware equivalente que suporte minimamente os
requisitos do CSE) e respectiva Nota Fiscal.
4.8 Submissão de Insumos para Geração da Distribuição
Uma vez detectado na análise de viabilidade técnica realizada pela SEFAZ-CE que será necessária a
geração de uma nova distribuição de CSE para o equipamento MFE em análise, o Fabricante deverá prover
os seguintes insumos para a realização da geração dessa distribuição:
Máquina virtual para a geração da distribuição de CSE (ANEXO I – Ambiente de Geração de
Distribuição de CSE);
Indicação de um responsável técnico e respectivo e-mail de contato. O responsável técnico deverá
ter amplo domínio do ambiente de hardware e software e será contatado durante as fases de
geração da distribuição, integração e testes do CSE, para fins de esclarecimentos e apoio, caso haja
necessidade.
4.9 Construção do Ambiente de Compilação da Distribuição do CSE
O Ambiente de Compilação da Distribuição do CSE deverá ser construído a partir dos Insumos para a
Geração da Distribuição disponibilizados pelo Fabricante do equipamento MFE.
Todos os Ambientes de Compilação da Distribuição do CSE serão armazenados na SEFAZ-CE para uso
futuro caso haja necessidade de se gerar novas distribuições de CSE com problemas corrigidos ou
modificações aplicadas.
A responsabilidade pela construção do Ambiente de Compilação da Distribuição do CSE é do Fabricante do
MFE, porém nas dependências e supervisão da SEFAZ-CE.
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 12
4.10 Geração da Distribuição do CSE
Uma vez que o Ambiente de Construção do CSE tenha sido criado a partir dos Insumos para a Geração da
Distribuição disponibilizados pelo Fabricante, será realizada a compilação do código fonte do CSE para o
ambiente de execução do equipamento MFE desejado. A responsabilidade pela geração da distribuição do
CSE é do Fabricante do MFE, porém nas dependências e supervisão da SEFAZ-CE.
4.11 Testes do CSE Gerado
Todas as informações para a realização de testes devem estar disponibilizadas pelo Fabricante nos Insumos
para a Integração e Testes. A responsabilidade pela execução do teste do CSE gerado é do Fabricante do
MFE, porém nas dependências e supervisão da SEFAZ-CE. Serão disponibilizadas ferramentas para teste de
componente do CSE, sem que haja a execução do Software Básico.
4.12 Publicação da Distribuição do CSE
As distribuições construídas de CSE deverão ser disponibilizadas via Portal e esse documento guia deverá
ser atualizado constando a respectiva distribuição no ANEXO III – Distribuições de CSE. A publicação da
distribuição somente será feita após a devida integração e realização dos testes com sucesso pela SEFAZ-
CE.
4.13 Integração e Testes pelo Fabricante
Uma vez que a distribuição do CSE esteja disponível, seja uma nova gerada com insumos providos pelo
Fabricante ou uma já disponível, o Fabricante então poderá fazer a integração e testes da distribuição
disponível com o Software Básico durante a fase de desenvolvimento e testes.
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 13
4.14 ATUALIZAÇÃO DO CSE
Eventualmente é possível que modificações ou correções possam ser implementadas no Componente de
Segurança, sendo necessária a atualização do mesmo em todos os Módulos Fiscais MFE em operação nos
contribuintes. Essas alterações também serão distribuídas aos Fabricantes. As atividades do processo de
atualização do CSE são representadas no diagrama de atividade ilustrado na Figura 2.
Fabricantes SEFAZ-CE
Geração da Distribuição de
CSE corrigida para todos
os MFE cadastrados
Modifica CSE
Realiza Testes no CSE
Gerado para todos os MFE
cadastrados
Publica versão corrigida de
CSE para todos os MFE
cadastrados
Início
Fim
Atualização Remota do CSE
Figura 2 - Processo de Atualização do CSE
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 14
4.15 Geração da Distribuição do CSE
Uma vez que o Ambiente de Construção do CSE tenha sido criado a partir dos Insumos para a Geração da
Distribuição disponibilizados pelo Fabricante, será realizada a compilação do código fonte do CSE para o
ambiente de execução do equipamento MFE desejado. A responsabilidade pela geração da distribuição do
CSE é do Fabricante do MFE, porém nas dependências e supervisão da SEFAZ-CE.
4.16 Teste do CSE Gerado
Todas as informações para a realização de testes devem estar disponibilizadas pelo Fabricante nos Insumos
para a Integração e Testes. A responsabilidade pela execução do teste do CSE gerado é do Fabricante do
equipamento MFE, porém nas dependências e supervisão da SEFAZ-CE. Serão disponibilizadas ferramentas
para teste de componente do CSE, sem que haja a execução do Software Básico.
4.17 Publicação da Atualização da Distribuição do CSE
Caso a distribuição tenha sido integrada e testada corretamente no hardware de teste, essa nova versão
deverá ser então publicada e devidamente associada ao Modelo de equipamento MFE em teste.
A atualização dos MFE em produção será definida e realizada pela SEFAZ-CE.
Observações:
A SEFAZ-CE cuidará das atualizações automáticas do parque de MFEs em operação;
Os fabricantes deverão fazer download da nova versão de CSE e incorporar a mesma no seu
processo produtivo para que os novos equipamentos MFE fabricados sejam fabricados com a versão
mais nova do CSE;
Haverá um prazo a ser determinado pela SEFAZ para que novos módulos vendidos tenham
obrigatoriamente a versão correta
4.18 Atualização remota dos CSE
Uma vez que a distribuição alterada esteja devidamente validada em todos os modelos de Equipamentos
MFE, a SEFAZ-CE realizará a atualização remota dos mesmos.
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 15
5 PRÉ-REQUISITOS DE SOFTWARE DO EQUIPAMENTO MFE
5.1 Ambiente Linux
O executável do Componente de Segurança SEFAZ-CE (CSE) disponibilizado nessa distribuição é
compatível com ABI arm-linux-generic-32-bits. Será necessário um mecanismo de inicialização do
componente a critério do Fabricante (sysv init, systemd, entre outros). As bibliotecas necessárias serão
instaladas pelo instalador do Componente de Segurança. Detalhamento das bibliotecas está definido na
Tabela 11. Há uma separação entre as bibliotecas necessárias ao Componente do Segurança e as
bibliotecas que o fabricante irá definir caso seja necessário no desenvolvimento do Software Básico. Note
que, pela arquitetura do Linux, não haverá conflito entre bibliotecas instaladas em duplicidade no módulo.
Tabela 4 - Pré-requisitos de software
Item de software Versão
Linux Kernel >=3.14
Bibliotecas de software Instalador do Componente de Segurança
Pacote de inicialização de serviços Definido pelo fabricante
Shell bash >= 4.3.30
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 16
6 PRÉ-REQUISITOS DE HARDWARE DO EQUIPAMENTO MFE
A Tabela 5 indica os pré-requisitos de hardware para a execução do Componente de Segurança. Os requisitos de memória RAM e flash são para a execução apenas do Componente de Segurança, não considerando as necessidades para o Linux ou o Software Básico.
Tabela 5 - Pré-Requisitos de Hardware do Equipamento MFE
Processador 32 bits ou superior
Uso de memória RAM 32 MB
Uso de memória persistente 200 MB
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 17
7 INSTALAÇÃO DO COMPONENTE DE SEGURANÇA
A seguir são descritas a estrutura de diretórios do equipamento MFE, procedimento de instalação do
Componente de Segurança e a configuração da porta de comunicação serial para comunicação entre o CSE
e o PDV.
7.1 Estrutura de diretórios
7.2 Ambiente Linux
A seguinte estrutura de diretórios deverá estar configurada antes da execução do procedimento de instalação
do Componente de Segurança. A estrutura do sistema de arquivos do equipamento MFE é definida de
acordo com as necessidades do Fabricante.
Tabela 6 - Estrutura de diretórios para execução do CSE em Ambiente Linux
Diretório Função
/appfs/cse Contém o arquivo binário de execução e arquivos acessórios de execução
/datafs/cse Contém os arquivos gerados pelo CSE durante sua operação
/logfs/cse Contém o log do CSE
/appfs/cse/bin/config Diretório que contém o arquivo de configuração config.ini
/appfs/cse/lib Contém todas as bibliotecas necessárias para a execução do CSE
7.3 Procedimento de Instalação
7.4 Ambiente Linux
A seguir são descritos os passos necessários para instalação do Componente de Segurança:
1. Copiar o instalador da distribuição para o caminho /tmp;
2. Executar o instalador com privilégio de root;
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 18
3. Configurar o caminho do driver serial sobre USB no arquivo config.ini que estará disponível no
caminho /appfs/cse/bin/config;
4. Configurar execução automática do CSE como serviço (ou daemon) durante a inicialização do
sistema operacional – antes da execução do Software Básico.
7.5 Configuração da Serial com o PDV
7.6 Ambiente Linux
Embora a maioria das implementações de comunicação serial com emulação de portas COM via USB não
necessitem de configuração exata da porta, a comunicação serial entre o CSE e o PDV é configurada da
seguinte maneira:
Tabela 7 - Configuração da serial de comunicação com o PDV
Parâmetro Valor
Taxa baud 115.200
Bits de dados 8
Paridade Sem paridade
Stop Bit 1 stop bit
A configuração da porta serial de comunicação com o PDV deverá ser realizada no arquivo config.ini. Note
que o dispositivo que representa a porta serial emulada em USB é definido no parâmetro “serial” do arquivo
de configuração config.ini.
; Arquivo de Configuração do Componente de Segurança
; Os parametros de [comunicacao] podem ser alterados
; Parametros para comunicacao
[comunicacao]
;Caminho da porta serial
serial=/dev/ttyGS0
;Baudrate serial
baudrate=115200
; 5, 6, 7 ou 8
databits=8
; 0 = sem bit de paridade; 1 =impar; 2 = par
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 19
parity=0
; 1 = 1 stop bit; 2 = 2 stop bits; 3 = 1.5 stop bit
stopbit=1
; 0 = sem controle de fluxo; 1 = Hardware; 2 = Software
flowcontrol=0
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 20
8 COMPORTAMENTO DURANTE A INICIALIZAÇÃO
8.1 Ambiente Linux
É necessário utilizar um pacote de inicialização de serviços quaisquer a critério do fabricante do equipamento
MFE. A configuração para execução como serviço é feita durante a instalação do CSE.
É necessário garantir a seguinte ordem durante a inicialização do sistema:
1. Inicialização do driver de comunicação serial
2. Inicialização do CSE
3. Inicialização do SWB
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 21
9 OBSERVAÇÕES IMPORTANTES
9.1 Ambiente Linux
1. A configuração do arquivo config.ini só é efetiva durante a inicialização do software. Caso haja
mudança no arquivo config.ini, é necessário reiniciar o serviço do CSE.
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 22
10 ANEXO I – Ambiente de Geração de Distribuição de CSE
O Ambiente de Geração de Distribuição de CSE será utilizado pela equipe técnica da SEFAZ-CE para a
geração de uma distribuição de CSE para um determinado equipamento MFE. Esse ambiente deverá ser
construído pelo Fabricante do equipamento MFE e disponibilizado como parte dos Insumos para a Geração
da Distribuição.
Esse é construído na forma de uma Máquina Virtual no formato Virtual Box para a compilação cruzada
(cross-compiling) da distribuição do CSE em uma máquina Host. Em outras palavras, o sistema operacional
ou ambiente de software e hardware desse ambiente na máquina Host podem não ser o mesmo do
equipamento MFE, mas um Ambiente para plataforma PC com poder de processamento suficiente para a
realização da compilação ou geração da distribuição do CSE para o ambiente alvo.
A Figura 3 ilustra como é o ambiente Host de execução do Ambiente de Geração de Distribuição de CSE.
Esse ambiente corresponde a uma máquina disponibilizada pela SEFAZ-CE rodando uma distribuição Linux
com suporte para execução de máquinas Virtual Box. A Tabela 9 define as versões da distribuição Linux, do
kernel do Linux e Virtual Box da máquina Host para a utilização do Ambiente de Geração de Distribuição do
CSE.
Figura 3 - Ambiente Host para Execução do Ambiente de Geração de Distribuição do CSE
A Figura 4 ilustra como deverá estar estruturado o Ambiente de Geração de Distribuição do CSE. Esse
ambiente deverá ser uma Máquina Virtual Virtual Box (ANEXO IV – Configuração da VM VirtualBox para o
Ambiente de Geração de Distribuição de CSE), cuja versão é definida na Tabela 8, e ser construído a partir
de uma distribuição Linux (ANEXO V – Instalação do Debian no Ambiente de Geração de Distribuição de
CSE). Deverá conter um SDK devidamente configurado para a plataforma de hardware e software do
equipamento MFE em desenvolvimento. O SDK deverá conter um sysroot (vide 10.1), um shell de
configuração de variáveis de ambiente e as ferramentas de compilação (Toolchain) definidas na Tabela 10 e
as bibliotecas de software necessárias definidas na Tabela 11. A compilação da distribuição será realizada
conforme descrito em ANEXO VI – Compilação do Componente de Segurança.
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 23
Figura 4 - Ambiente de Geração de Distribuição do CSE
Tabela 8 - Componentes de software do Ambiente Host
Componente Versão
Distribuição Linux Debian 8.x 64 bits
Kernel Linux 3.16.0-4
Virtual Box 5.0 ou superior
Tabela 9 - Componentes de software do Ambiente de Geração de Distribuição do CSE
Componente Versão
Distribuição Linux Debian 8.x 64 bits
Kernel Linux 3.16.0-4
Qt 5.7.x
Virtual Box 5.0 ou superior
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 24
Tabela 10- Ferramentas de compilação da Toolchain do SDK
Ferramenta da Toolchain Versão
GNU/GCC 5.2.0
GNU/binutils 2.25.1
GNU/GDB 7.9.1
Tabela 11 - Bibliotecas de software do SDK
Biblioteca Versão
glibc 2.22
Qt [core, network, xml, xmlpatterns, serialport,
concurrent, dbus]
5.7.0
libxml2 2.9.2
Libz 1.2.8
Libpthread 2.22
Libssl 1.0.2h
Libudev 1.6.4
10.1 Estrutura de bibliotecas no Sysroot
A organização estrutura do sysroot deve seguir a Tabela 12 no que se refere a localização das bibliotecas.
Tabela 12 - Organização estrutura de bibliotecas do sysroot
Diretório Conteúdo
[toolchains-sysroot]
Diretório base de instalação do sysroot do SDK.
[toolchains-sysroot]/usr/lib Bibliotecas estáticas (*.a) e dinâmicas (*.so)
[toolchains-sysroot]/lib
[toolchains-sysroot]/usr/lib/*/include Os arquivos de cabeçalho (*.h)
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 25
11 ANEXO II – Documento de Integração e Teste do Equipamento MFE
O Documento de Integração e Teste de MFE constitui um dos Insumos para a Integração e Testes,
juntamente com um equipamento MFE de Teste fornecidos pelo Fabricante de um determinado Modelo de
equipamento MFE. Esse documento será utilizado pela equipe técnica da SEFAZ-CE durante a etapa de
integração e testes da distribuição de CSE recém-gerada.
Esse documento deverá conter minimamente as seguintes informações:
Descrição geral sobre a plataforma de hardware e software;
Descrição da estrutura do sistema de arquivos. Note que o requisito de estrutura de diretórios de
instalação definidos no capítulo “Estrutura de Diretórios” 7.1 deverá estar atendido;
Localização na estrutura de diretórios onde o CSE deverá ser instalado;
Mecanismo de acesso root ao equipamento MFE (de preferência sem senha de acesso);
Mecanismo de cópia de arquivos para o equipamento MFE;
Identificação do mapeamento de device driver para a serial de comunicação com o PDV e respectiva
indicação no hardware de teste disponibilizado como Insumo para Integração e Testes;
Mecanismo de configuração de rede Ethernet;
Mecanismo de criação de um túnel TCP para teste de componente do CSE (sugestão: uso do
utilitário ssh).
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 26
12 ANEXO III – Distribuições de CSE
A seguir são descritas as distribuições já disponíveis de binários CSE:
12.1 Cortex_A8_AM335x_Linux_3.14
Tabela 13 - Distribuição “Cortex_A8_AM335x_Linux_3.14”
Processador ARM Cortex A8 – AM335x
Linux 3.14.19
Gcc 4.8.2
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 27
13 ANEXO IV – Configuração da VM VirtualBox para o Ambiente de
Geração de Distribuição de CSE
A seguir são descritos os passos para a criação da VM no VirtualBox:
1. Defina o Nome da máquina virtual, tipo e versão do sistema operacional conforme tela ilustrada na
Figura 5;
Figura 5 - Tela de identificação da máquina virtual
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 28
2. Defina o tamanho de memória RAM para 4GB conforme tela ilustrada na Figura 6;
Figura 6 - Tela de definição de memória RAM da máquina virtual
3. Selecione “Criar um novo disco rígido virtual agora” conforme tela ilustrada na Figura 7;
Figura 7 - Tela de definição do disco rígido da máquina virtual
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 29
4. Defina “VDI” como tipo de arquivo rígido conforme tela ilustrada na Figura 8;
Figura 8 - Tela de definição do tipo da máquina virtual
5. Defina tamanho de disco de 20GB conforme tela ilustrada na Figura 9;
Figura 9 - Tela de definição do tamanho do disco da máquina virtual
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 30
6. Selecione “Dinamicamente alocado” na tela ilustrada na Figura 10.
Figura 10 - Tela de Configuração de armazenamento de disco da máquina virtual
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 31
14 ANEXO V – Instalação do Debian no Ambiente de Geração de
Distribuição de CSE
A seguir são descritos os passos para a instalação do Debian:
1. Selecione linguagem como “English” na tela ilustrada na Figura 11;
Figura 11 - Tela de seleção de linguagem na instalação do Debian
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 32
2. Selecione “other” na tela ilustrada na Figura 12;
Figura 12 - Tela de seleção de local na instalação do Debian
3. Selecione “Sourth America” na tela ilustrada na Figura 13;
Figura 13 - Tela de seleção de local na instalação do Debian
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 33
4. Selecione “Brazil“ na tela ilustrada na Figura 14;
Figura 14 - Tela de seleção de local na instalação do Debian
5. Selecione “United States” na tela ilustrada na Figura 15;
Figura 15 - Tela de seleção de localidade na instalação do Debian
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 34
6. Selecione “United States” na tela ilustrada na Figura 16;
Figura 16 - Tela de seleção de teclado na instalação do Debian
7. Aguarde a instalação dos pacotes ilustrada na tela da Figura 17;
Figura 17 - Tela de instalação de pacotes na instalação do Debian
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 35
8. Configure o hostname confirme ilustrado na tela da Figura 18;
Figura 18 - Tela de configuração da rede na instalação do Debian
9. Configure a senha do root como “vm.cse” conforme ilustrado na tela da Figura 19;
Figura 19 - Tela de configuração de senhas na instalação do Debian
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 36
10. Crie um usuário denominado “cse” conforme tela ilustrada na Figura 20;
Figura 20 - Tela de criação de usuário na instalação do Debian
11. Defina a senha do usuário “cse” como “vm.cse” conforme tela ilustrada na Figura 21;
Figura 21 - Tela de configuração de senha na instalação do Debian
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 37
12. Defina o fuso-horário “Ceará” conforme tela definida na Figura 22;
Figura 22 - Tela de configuração de fuso horário na instalação do Debian
13. Defina a configuração “Guided – use entire disk” na seleção de configuração de particionamento
conforme tela ilustrada na Figura 23;
Figura 23 - Tela de configuração de particionamento de disco na instalação do Debian
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 38
14. Selecione “SCSI1 (0,0,0) (sd) - - 8.6 GB ATA VBOX HARDISK” na tela ilustrada na Figura 24;
Figura 24 - Tela de seleção de disco na instalação do Debian
15. Defina a configuração “All files in one partition (recommended for new users)” na tela ilustrada na
Figura 25;
Figura 25 - Tela de configuração de particionamento na instalação do Debian
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 39
16. Selecione a opção “Finish partitioning and write changes to disk” na tela ilustrada na Figura 26;
Figura 26 - Tela de finalização de particionamento de disco na instalação do Debian
17. Selecione “Yes” na tela ilustrada na Figura 27;
Figura 27 - Tela de confirmação de particionamento de disco na instalação do Debian
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 40
18. Aguarde a instalação dos pacotes conforme tela ilustrada na Figura 28;
Figura 28 - Tela de progresso na instalação do Debian
19. Selecione “não” na configuração do gerenciador de pacotes conforme tela ilustrada na Figura 29;;
Figura 29 - Tela de configuração do gerenciador de pacotes na instalação do Debian
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 41
20. Selecione a opção “No” na tela ilustrada na Figura 30;
Figura 30 - Tela de configuração do gerenciador de pacotes na instalação do Debian
21. Aguarde a configuração conforme tela ilustrada na Figura 31;
Figura 31 - Tela de andamento da configuração de pacotes na instalação do Debian
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 42
22. Selecione “No” na tela ilustrada na Figura 32;
Figura 32 - Tela de envio de estatísticas de uso de pacote na instalação do Debian
23. Selecione os pacotes conforme tela ilustrada na Figura 33;
Figura 33 - Tela de configuração de pacotes da instalação do Debian
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 43
24. Aguarde a instalação dos pacotes conforme tela ilustrada na Figura 34;
Figura 34 - Tela de progresso na instalação do Debian
25. Selecione “Yes” conforme tela ilustrada na Figura 35;
Figura 35 - Tela de configuração do GRUB na instalação do Debian
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 44
26. Selecione “/dev/sda” conforme tela ilustrada na Figura 36;
Figura 36 - Seleção da partição para instalação do GRUB na instalação do Debian
27. Selecione “Continue” na tela ilustrada na Figura 37;
Figura 37 - Tela final da instalação do Debian
Manual de Integração Componente de Segurança MFE-CFe 1.0.3 (Direitos Reservados) 45
15 ANEXO VI – Compilação do Componente de Segurança
A compilação do Componente de Segurança será executada através dos seguintes comandos:
%cd ~/cse-source
%. /path/para/sdk-do-fabricante/script_configuracao_ambiente.sh
%qmake
%make clean
%make