Ir para conteúdo
  • Cadastre-se

Carlos Alberto Senczkowski

Membros
  • Total de ítens

    10
  • Registro em

  • Última visita

Tudo que Carlos Alberto Senczkowski postou

  1. Estou tendo problema ao utilizar o ACBrFramework32.dll com o JAVA, temos alguns problemas que utilizam o windows na versão 32 bits. Nos computadores 64bits não tenho nenhum problema com a DLL ACBrFramework64.dll O erro que está ocorrendo é EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0239c021, pid=6604, tid=0x000000b4 # # JRE version: Java(TM) SE Runtime Environment (8.0_211-b12) (build 1.8.0_211-b12) # Java VM: Java HotSpot(TM) Client VM (25.211-b12 mixed mode, sharing windows-x86 ) # Problematic frame: # C 0x0239c021 # # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows Em anexo o Log completo. hs_err_pid6604.log
  2. package jACBrFramework.Test; import jACBrFramework.ACBrException; import jACBrFramework.ead.ACBrEAD; import jACBrFramework.ead.Chaves; import jACBrFramework.ead.EADDigest; import jACBrFramework.ead.ModuloExpoente; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author Jose Mauro * @version Criado em: 26/12/2013 10:12:34, revisao: $Id$ */ public class ProgramTestEad { public static void main(String[] args) { try { ACBrEAD lAcbr = new ACBrEAD(); lAcbr.setChavePrivada("-----BEGIN RSA PRIVATE KEY-----" "\n" + "-----END RSA PRIVATE KEY-----"); lAcbr.setChavePublica("-----BEGIN PUBLIC KEY-----" + "\n" + "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnFwt3/HloBZfRpN+HjuCkHBp7" + "\n" + "p12fRsQ4NqEKV7apObbop1DsiqbP8UVMuohrgOvlHRaXLVfwgs5e+fsbff2k0u2U" + "\n" + "jeEheN+CFWhYO+VIGDQE4+OGGTI8+mJy5q2aybI2MEcWriaEGerEXfWNVB8jimID" + "\n" + "QZFrYjT0EmMuNDW1DwIDAQAB" + "\n" + "-----END PUBLIC KEY-----"); lAcbr.gerarChaves(); System.out.println("\nMD5FromFile: " + lAcbr.MD5FromFile("teste.txt")); System.out.println("MD5FromString: " + lAcbr.MD5FromString("jACBrFramework")); System.out.println("assinarArquivoComEAD: " + lAcbr.assinarArquivoComEAD("teste.txt", true)); System.out.println("calcularChavePublica:\n " + lAcbr.calcularChavePublica()); //TODO Verificar no ACBrFramework uma forma de especificar o tamanho do vetor. //ArrayList<String> lStrings = new ArrayList<String>(); //lStrings.add("Framework"); //lStrings.add("jACBrFramework"); //System.out.println("calcularEAD: " + lAcbr.calcularEAD(lStrings)); //System.out.println("calcularEAD: " + lAcbr.calcularEAD(lStrings.toArray(new String[lStrings.size()]))); System.out.println("calcularEADArquivo: " + lAcbr.calcularEADArquivo("teste.txt")); System.out.println("calcularHash: " + lAcbr.calcularHash("jACBrFramework", EADDigest.SHA1)); System.out.println("calcularHashArquivo: " + lAcbr.calcularHashArquivo("teste.txt", EADDigest.SHA)); System.out.println("getAbout: " + lAcbr.getAbout()); System.out.println("getOpenSSL_Version: " + lAcbr.getOpenSSL_Version()); Chaves lChaves = lAcbr.gerarChaves(); System.out.println("gerarChaves.getChavePrivada(): \n" + lChaves.getChavePrivada()); System.out.println("gerarChaves.getChavePublica(): \n" + lChaves.getChavePublica()); lAcbr.setChavePrivada(lChaves.getChavePrivada()); lAcbr.setChavePublica(lChaves.getChavePublica()); System.out.println("Gerando gerarXMLeECFc"); lAcbr.gerarXMLeECFc("Empresa Teste"); ModuloExpoente lModExp = lAcbr.calcularModuloeExpoente(); System.out.println("calcularModuloeExpoente.getModulo(): \n" + lModExp.getModulo()); System.out.println("calcularModuloeExpoente.getExpoente(): \n" + lModExp.getExpoente()); System.out.println("converteXMLeECFcParaOpenSSL: \n" + lAcbr.converteXMLeECFcParaOpenSSL("Empresa Teste.xml")); } catch (ACBrException ex) { Logger.getLogger(ProgramTestEad.class.getName()).log(Level.SEVERE, null, ex); } } } Esse é o arquivo que estou rodando o teste para assinar o Teste.txt; Ao executar o método lAcbr.gerarChaves(); retorna o seguinte erro: Erro ao gerar par de Chaves RSA
  3. Ainda estou esbarrando neste problema. O erro ocorre aparentemente em todas as assinaturas de arquivos. Ex: acbrPaf.saveFileTXT_N("ArquivoMD5.txt"); int ret = ACBrPAFInterop.INSTANCE.PAF_SaveFileTXT_N(getHandle(), toUTF8(pArquivo)); checkResult(ret); Retorno -1; "Erro ao Ler a chave" Existe alguma configuração do componente ou forma de atribuir estas chaves? Tentei atribuir aos componentes através do método setKeyRSA na classe ACBRPAF sem exito. Atribuir diretamente ao componente ACBREAD e ao ACBRAAC. Nos fontes do jACBrFramework existem os testes pelo ProgramTestEad.java Tenho o mesmo problema, e não encontro uma forma de atribuir as chaves. Se alguém puder me dar uma luz de como configurar as chaves dentro do ACBR fico agradecido.
  4. ACBrEAD acbrEad = new ACBrEAD(); acbrEad.addOnGetChavePrivada(new ACBrEventListener<EADChavePrivadaEventObject>() { @Override public void notification(EADChavePrivadaEventObject t) { t.setKey("Chave"); } }); acbrEad.addOnGetChavePublica(new ACBrEventListener<EADChavePublicaEventObject>() { @Override public void notification(EADChavePublicaEventObject t) { t.setKey("-----BEGIN PUBLIC KEY-----\n" + "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCppEr/CNhXQpLQ956CHv0e67Pb\n" + "g5NQvwcaf0mYCiSrC7O6IvhzhZKrdnlgSu4MiGw4EL7i3ZUPJmfH4iHjXVigH/BU\n" + "r30j0htSXLTMFGo/kNugAqOzfowYdCbR5WvoUvwihpKhuurh3aypWieexSbagnb9\n" + "JvtN1Ny1F+c8cyIagQIDAQAB\n" + "-----END PUBLIC KEY-----"); } }); //acbrPaf = new ACBrPAF(Charset.forName("cp1252")); acbrPaf.setAssinarArquivo(true); acbrPaf.setEad(acbrEad); // U1 - Identificação do Estabelecimento Usuário do PAF-ECF geraRegistroU(acbrPaf); // A2 - Total Diário de Meios de Pagamento geraRegistroA2(acbrPaf, dataInicio, dataFim); // P2 - Relação das Mercadorias e Serviços geraRegistroP2(acbrPaf); // E2 - Relação das Mercadorias em Estoque geraRegistroE2(acbrPaf, pEstoqueTotalOuParcial, pEstoqueCodigoOuNome, pEstoqueCriterioUm, pEstoqueCriterioDois); // E3 - Identificação do ECF que Emitiu o Documento Base para a Atualização do Estoque geraRegistroE3(acbrPaf); // D2 - Relação dos DAV Emitidos / D3 - Detalhe do DAV geraRegistrosDAV(acbrPaf); // R01 a R07 geraRegistrosR(acbrPaf, dataInicio, dataFim); /* O arquivo a que se refere o item 5 deverá ser denominado no formato CCCCCCNNNNNNNNNNNNNNDDMMAAAA.txt, sendo: a) “CCCCCC” o Código Nacional de Identificação de ECF relativo ao ECF a que se refere o movimento informado; b) “NNNNNNNNNNNNNN” os 14 (quatorze) últimos dígitos do número de fabricação do ECF; c) “DDMMAAAA” a data (dia/mês/ano) do movimento informado no arquivo. */ String nomeArquivo = SessaoUsuario.getConfiguracao().getSistemaEcfId().getCodigo(); if (SessaoUsuario.getConfiguracao().getSistemaEcfId().getSerie().length() > 14) { nomeArquivo += SessaoUsuario.getConfiguracao().getSistemaEcfId().getSerie().substring(SessaoUsuario.getConfiguracao().getSistemaEcfId().getSerie().length() - 14); } else { nomeArquivo += Biblioteca.repete("0", 14 - SessaoUsuario.getConfiguracao().getSistemaEcfId().getSerie().length()) + SessaoUsuario.getConfiguracao().getSistemaEcfId().getSerie(); } if (dataMovimento == null) { dataMovimento = new Date(); } nomeArquivo += Biblioteca.formataData(dataMovimento).replace("/", "") + ".txt"; if (!acbrPaf.saveFileTXT_RegistrosECF(nomeArquivo)) { throw new ACBrException("Não foi possível criar o arquivo 'Registros PAF'."); } JOptionPane.showMessageDialog(null, "Arquivo armazenado em: " + Constantes.DIRETORIO_APLICACAO + nomeArquivo, "Informação do Sistema", JOptionPane.INFORMATION_MESSAGE); } A principio o erro ocorre ao chamar o método acbrPaf.saveFileTXT_RegistrosECF(nomeArquivo) na penultima linha com o retorno Erro ao Ler a Chave. Tentei atribuir as chaves diretamente para testar mas o erro continua.
  5. Tentei atribuir as chaves desta forma, mas ao chamar o método acbrPaf.saveFileTXT_RegistrosECF(nomeArquivo), obtenho o retorno -1 "erro ao ler a chave". agora vem a dúvida se o erro está com a configuração das chaves públicas ou se há algum problema na criação do arquivo.
  6. Boa tarde, estou com um problema semelhante, quando chamo o método ACBrPAFInterop.INSTANCE.PAF_SaveFileTXT_RegistrosPAF(getHandle(), toUTF8(pArquivo)); Tenho o seguinte retorno "Erro ao ler a Chave", como aparentemente o método é executado pela DLL não consigo identificar o problema, estou utilizando jAcbrFramework em Java. Pelo o que entendi no jACBrFramework.ead é necessário configurar o par de Chaves para assinatura do arquivo, mas não encontrei o método e nem a documentação de como configurar essas chaves. Alguém ja teve este problema?
  7. Boa tarde, estou com um problema semelhante, quando chamo o método ACBrPAFInterop.INSTANCE.PAF_SaveFileTXT_RegistrosPAF(getHandle(), toUTF8(pArquivo)); Tenho o seguinte retorno "Erro ao ler a Chave", como aparentemente o método é executado pela DLL não consigo identificar o problema, estou utilizando jAcbrFramework em Java. Pelo o que entendi no jACBrFramework.ead é necessário configurar o par de Chaves para assinatura do arquivo, mas não encontrei o método e nem a documentação de como configurar essas chaves. Alguém ja teve este problema?
  8. Boa tarde, estou com um problema semelhante, quando chamo o método ACBrPAFInterop.INSTANCE.PAF_SaveFileTXT_RegistrosPAF(getHandle(), toUTF8(pArquivo)); Tenho o seguinte retorno "Erro ao ler a Chave", como aparentemente o método é executado pela DLL não consigo identificar o problema, estou utilizando jAcbrFramework em Java. Pelo o que entendi no jACBrFramework.ead é necessário configurar o par de Chaves para assinatura do arquivo, mas não encontrei o método e nem a documentação de como configurar essas chaves. Alguém ja teve este problema?
  9. Huum entendi, acabei de baixar a última versão do ACBR, acredito que a que possuía anteriormente do sourceforge está descontinuada. Apenas uma dúvida em relação aos modelos de configuração, na classe modelo ECF possui apenas as seguintes relações para configuração: public interface ModeloECF { public static final int NENHUM = 0; public static final int NAO_FISCAL = 1; public static final int BEMATECH = 2; public static final int SWEDA = 3; public static final int DARUMA = 4; public static final int SCHALTER = 5; public static final int MECAF = 6; public static final int YANCO = 7; public static final int DATA_REGIS = 8; public static final int URANO = 9; public static final int ICASH = 10; public static final int QUATTRO = 11; public static final int FISC_NET = 12; public static final int EPSON = 13; public static final int NCR = 14; public static final int SWEDA_STX = 15; } Por isso surgiu a dúvida, vou estudar um pouco dessa versão nova para entender como utilizar nestes modelos novos da ECF e atualizar a DLL. Obrigado pela ajuda
  10. Bom dia a todos, há alguma implementação para as impressoras que utilizam o driver escecf, pelo o que observei nos pacotes para delphi existem as classes ACBrECFEpson e ACBrECFEscECF, mas as mesmas não estão implementadas no projeto java do AcbrFramework. Alguém já portou estas classes para java?
×
×
  • 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.

The popup will be closed in 10 segundos...