Ir para conteúdo
  • Cadastre-se

casagrande.powersoft

Membros
  • Total de ítens

    10
  • Registro em

  • Última visita

Tudo que casagrande.powersoft postou

  1. Boa tarde! A partir de qual chave privada é feita a assinatura dos arquivos MF gerado pelo método ACBrECF.gerarArquivoMF? Pergunto, pois o teste 024 da RAF exige a validação da assinatura, só que o arquivo não foi assinado com a minha chave e, portanto, não consigo validá-la. É possível se indicar a chave privada para este ou outro método que gere os arquivos MF? Qual? Agradeço desde já.
  2. Faltava realmente setar a propriedade Assinar para True. Funcionou! Muito obrigado.
  3. Pelo pouco que entendo, a assinatura EAD no arquivo é realizada pelo método saveFileTXT_RegistrosECF já que originalmente não implementei nada para assinar o arquivo. Eu gero os registros e invoco o método saveFileTXT_RegistrosECF e recebo como retorno um arquivo assinado com uma assinatura inválida. A definição da chave privada para realizar a assinatura é feita no listener "addOnPAFGetKeyRSA".
  4. Para realizar a leitura de memória fiscal, é necessário ter a dll do fabricante do ECF. A dúvida é: qual a versão compatível com cada versão do ACBrFramework? Ou deve-se utilizar sempre a mais recente da DLL independentemente da versão do framework?
  5. Não sei se entendi a pergunta. Ele assina com base na chave privada. Segue: private static ACBrPAF getAcbrPaf() throws ACBrException { ACBrPAF acbrPaf = new ACBrPAF(); acbrPaf.setNomeArquivo(Constantes.DIRETORIO_APLICACAO); acbrPaf.addOnPAFGetKeyRSA(new ACBrEventListener<PAFGetKeyRSAEventObject>() { @Override public void notification(PAFGetKeyRSAEventObject e) { e.setKey(Constantes.CHAVE_PRIVADA); } }); return acbrPaf; } ---------------- public static void geraRegistrosPAF() throws Exception { ACBrPAF acbrPaf = getAcbrPaf(); geraRegistroU(acbrPaf); ... if (!acbrPaf.saveFileTXT_RegistrosECF(nomeArquivo)) { throw new ACBrException("Não foi possível criar o arquivo 'Registros PAF'."); } } Se eu alterar o método geraRegistrosPAF() e fizer como abaixo, daí a assinatura é validada: public static void geraRegistrosPAF() throws Exception { ACBrPAF acbrPaf = getAcbrPaf(); geraRegistroU(acbrPaf); ... if (!acbrPaf.saveFileTXT_RegistrosECF(nomeArquivo)) { throw new ACBrException("Não foi possível criar o arquivo 'Registros PAF'."); } ACBrEAD acbrEad = new ACBrEAD(); acbrEad.setChavePrivada(Constantes.CHAVE_PRIVADA); acbrEad.assinarArquivoComEAD(nomeArquivo, true); }
  6. O próprio método acbrPaf.saveFileTXT_RegistrosECF já assina o arquivo.
  7. Bom dia! Gerei as chaves e o arquivo "Empresa Teste.xml" com ProgramTestEad do jACBrFramework 0.9.6.6 e copiei o XML para a pasta SHouse da pasta raiz do eECFc v 3.28. Gerei o arquivo "Registros do PAF-ECF" a que se refere o item 17 do REQUISITO VII Registros do PAF-ECF com a minha aplicação utilizando o método "acbrPaf.saveFileTXT_RegistrosECF(nomeArquivo)" e o submeti a validação da assinatura eECFc o qual acusou a mensagem abaixo: --------------------------- Erro! --------------------------- Assinatura Inválida! --------------------------- OK --------------------------- Tentei validar também pelo ACBrValidadorPafECF e acusou a mensagem abaixo: --------------------------- Projeto ACBr - Verificador de Arquivos do Paf-ECF --------------------------- Não foi possível verificar a assinatura do arquivo: Verifique se a chave informada é mesmo a chave correta antes de continuar. Verifique também se o arquivo foi assinado com a DLL de algum fabricante de impressoras fiscais, os fabricantes de impressoras fiscais criptografam o MD5 do arquivo antes de efetuar a criptografia para a assinatura EAD o que torna possível a verificação da assinatura somente utilizando o aplicativo eECFc, somente este aplicativo possui as rotinas de descriptografia para cada fabricante. --------------------------- OK --------------------------- O arquivo é gerado e assinado. Os outros arquivos como o "Vendas por Período" tem a assinatura validada. A versão das DLLs OpenSSL é 0.9.8.25 e o Windows é o 7 Ultimate SP1 x86. Eu fiz um teste, adicionando uma assinatura após o referido método utilizando o método "acbrEad.assinarArquivoComEAD(nomeArquivo, true);" e, então, a assinatura foi validada. --------------------------- Sucesso! --------------------------- Assinatura válida! --------------------------- OK --------------------------- Alguém tem alguma dica do que pode estar acontecendo? Desde já agradeço!
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.