[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OFF] Programa do IR



Paulo de Souza Lima escreveu:
Eu acho que o grande segredo é o receitanet, que verifica e manda a
declaração p/ receita. Mas mesmo assim, nada de mto extraordinário...
Da página http://www.sintegra.gov.br/info5.html :
    "Foi desenvolvido o programa VALIDADOR
SINTEGRA, que verifica a consistência dos
dados informados pelos
contribuintes e prepara os arquivos para entrega às repartições
fazendárias estaduais, com uso de algoritmos de integridade e
criptografia. O programa
evita o fornecimento de dados incorretos, como
Inscrições Estaduais e CNPJ inválidos,
registros inexistentes,
inconsistência entre e nos registros informados, etc. Deve-se
destacar
que o programa Validador obedece estritamente o disposto no leiaute do
Convênio ICMS 57/95 e na legislação do ICMS para os documentos fiscais,
isto é, as
regras de validação são decorrências de disposições legais."
Ou seja, o programa validador só verifica o formato e a consistência dos dados e os
criptografa para a transmissão. As informações para a verificação dos dados e do
formato do arquivo já são públicas, portanto, nada impede que se desenvolva um
programa open source para fazer a mesma coisa, utilizando-se métodos e algorítmos
de criptografia open source.
Muito provavelmente, os algorítmos de criptografia utilizados pela Receita Federal sejam
proprietários.
Paulo de Souza Lima
Curitiba - PR

Olá Paulo,

Exatamente e correto, e mesmo que os algoritmos de criptografia sejam proprietários, nada impede a receita de laçar um objeto (tipo como fazem para as placas de vídeo), com uma única função: criptografar. Venho há um ano mexendo com Sintegra e esse validador, tirando a criptografia, simplesmente verifica se cada valor está coerente com as especificações, que são abertas, como por exemplo se há caracteres inválidos onde somente é permitido números e preenchimento, neste caso, à esquerda com zeros e o alinhamento à esquerda com espaços à direita, pois cada campo tem seu tamanho definido e especificado, bem como CNPJ válido e números de registros lidos iguais aos informados, dentre outras restrições. Ainda verifica e adverte se um campo onde se espera um valor diferente de zero está com zeros, onde se espera algo alfanumérico contendo puramente espaços, se os códigos de produtos que compõe uma nota não tem sua descrição listada, dentre outras firulas. Se tiver algo realmente errado, ele dá erro e não permite gerar o arquivo criptografado. Se tiver algo advertido, mesmo assim gera o arquivo criptografado. Creio que essa criptografia é apenas para que alguém não abra ou altere o arquivo no seu caminho, algo que uma chave pública também resolve, nada de espetacular também. Estou então engatinhando fazendo esse validador aberto em duas partes: o núcleo e a interface. O núcleo faz exatamente o que descrevi acima, uma biblioteca, que a princípio pode ter apenas uma função: int validar_arquivo(char* nome_do_arquivo, int* num_erros, char** erros, int* num_advertencias, char** advertencias). Já a interface é para tornar amigável o processo, seja em linha de comando ou de forma gráfica. Analisei o programa do IR e é, aparentemente, a mesma coisa. Por que não liberar, se já não são, não verifiquei isso, de forma oficial as especificações então?

--
Atenciosamente,

          Junior Polegato

          Um peregrino de problemas; Um pergaminho de soluções!
          Página Profissional: http://www.juniorpolegato.com.br



Reply to: