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...
The popup will be closed in 10 segundos...