FórumCategoria: Fórum - Perguntas e RespostasE-Financeira – Gerar uma chave AES-CBC 128 randomicamente
RENATO DELGADO perguntou há 7 anos

Pessoal, boa tarde.
Vocês poderiam nos auxiliar com relação ao código para geração da chave criptografada randomicamente, a qual será utilizada para encriptar o lote XML?
Essa chave deve ter o padrão AES-CBC 128, mas não sabemos se os exemplos de código fonte existentes na Internet atendem o que a RFB solicita.
Alguém já possui esse código testado e poderia disponibilizar um exemplo para adequar nossa aplicação?
Nossa aplicação é desenvolvida em C#.
 
Outra pergunta:  Sabem me informar se é obrigatória a utilização da compactação (GZIP) antes de transmitir os arquivos?
 
Agradeço desde já!
Abraços!

RENATO DELGADO respondeu há 7 anos

Rossi,

Então.. com relação ao campo ID do XML final, acredito que cada empresa pode utilizar seu próprio critério, porque o objetivo desse cara é simplesmente transitar um conteúdo criptografado. Aqui na empresa não vamos criar um novo controle desse ID. Eu vou utilizar o mesmo ID que uso no lote xml original, porque ele nunca se repete. Nos poucos testes que fiz, não tive problema.

O protótipo que desenvolvi com a ajuda dos colegas do fórum trata apenas a criptografia. Sem Gzip. Se quiser, pode baixar a solution do endereço abaixo:

https://github.com/rtrocoletto/Cripto_Efinanceira

Você cola o XML original num textbox…. o programa aplica a criptografia e gera as tags LOTE e CHAVE.

Essas duas informações eu estava colando num XML físico e transmitindo pelo link de upload manual para os testes.

Precisando de algo, é só chamar inbox, ou por aqui mesmo.

abraços e boa sorte!

RENATO DELGADO respondeu há 7 anos

Rossi, bom dia
estou em treinamento no momento.
assim que tiver oportunidade eu respondo melhor seu questionamento.

mas SIM vc precisa fazer a conversão do XML final para array de bytes e passar como parâmetro

depois falamos melhor

abs

Rossi respondeu há 7 anos

Bom dia Renato.

Estamos iniciando a implementação do código em C# para compactação e criptografia dos arquivos da e-financeira e gostaria, se possível, de esclarecer uma dúvida.

Após todo o processo de criptografia do XML e da Chave, o manual define um leiaute de um “novo” xml onde o conteúdo tanto do XML quanto da chave são passados como tags no xml.
Porém o método ReceberLoteEventoCriptoGZIP tem como parâmetro um array de byte e não um XML. Assim, algumas dúvida:
– Esse XML com os dados criptografados deve também ser convertido em array de bytes ?
– Esse arquivo XML que contém os dados do lote criptografado (com até 100 eventos e 100 id’s correspondentes) também possui uma tag , então, para cada arquivo teríamos que criar um novo id identificando o lote ?
– Você comentou em algumas de suas postagens no fórum que também desenvolveu em C# a criptografia e geração do XML. Seria pedir muito que me enviasse o código para que pudesse comparar com o nosso e corrigir possíveis falhas ?
Obrigado!

21 Respostas
Paulo Costa respondeu há 7 anos

Renato,
preciso de consultoria para c# para o envio do xml criptografado, como podemos conversar.
 
Abs,