Ir para conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Showing results for tags 'acbread'.

  • Search By Tags

    Digite tags separadas por vírgulas
  • Search By Author

Tipo de Conteúdo


Fóruns

  • Fórum Aberto - ACBr
    • Notícias do ACBr
    • Equipamentos testados
    • Base de Conhecimento
    • Dúvidas Gerais sobre o ACBr
    • ACBrSerial
    • ACBrSAT
    • ACBrNFe
    • ACBrDFe
    • Dúvidas sobre TEF
    • Dúvidas sobre PIX
    • ACBrMonitor PLUS
    • ACBrTXT
    • ACBrBoleto
    • ACBrDiversos
    • ACBrTCP
    • ACBrFramework
    • ACBrLIB
  • ACBr API
    • Duvidas Gerais ACBr API
    • Duvidas Privadas ACBr API
  • Suporte Nuvem Fiscal
    • Comunidade Nuvem Fiscal
  • Outros Assuntos
    • Boteco do ACBr
    • Legislação Fiscal e Tributária
    • Object Pascal - Delphi & Lazarus
    • Banco de Dados
    • Classificados
    • Dúvidas não relacionadas ao ACBr

Categorias

  • ACBr Pro
    • ACBrLib - PRO
    • ACBrMonitorPLUS - PRO
    • Utilitários - PRO
    • Dia do ACBr 1a edição
    • Dia do ACBr 2a edição
  • Download Livre
    • ACBrLib - DEMO
    • ACBrMonitorPLUS - DEMO
    • Demos / Testes / Utilitários
    • Apresentações - Palestras
  • ACBr TEF

Calendários

  • Eventos - Palestras - Webinars
  • Prazos SEFAZ
  • Calendário da Comunidade
  • ACBr Papo Pro
  • Feriados Nacionais

Find results in...

Find results that contain...


Data de Criação

  • Início

    End


Data de Atualização

  • Início

    End


Filter by number of...

Data de Registro

  • Início

    End


Grupo


Website URL

Encontrado 4 registros

  1. Boa tarde pessoal, Fizemos a atualização da ACBr para uma das últimas versões (26/12/2016) e ao executar o comando: ACBrEAD.GerarXMLeECFc(RemoveAcento(dm.RazaoSocial), AddSlash(dm.ExePath)); Recebemos a mensagem: Método CalcularModuloeExpoente ainda não é compatível com OpenSSL 1.0.0 ou superior Efetuei uma pesquisa e esta validação o Daniel implementou no commit revision 12726 do dia 23/12/2016. Em debug, verifiquei que na função: function TACBrEAD.VerificaVersaoCompativel: Boolean; Temos: 1) A função 'GetOpenSSL_Version' retorna 'OpenSSL 0.9.8n 24 Mar 2010' 2) A comparação '(CompareVersions(Ver, '1.0.0') < 0)' retorna FALSE Gostaria da opinião de vocês, se é algum problema na minha máquina ou se é a comparação de versões que está equivocada. Desde já agradeço.
  2. Pessoal, eu to usando o acbread e não estou conseguindo assinar o arquivo com uma chave que eu já utilizava anteriormente com a dll... o que eu faço???
  3. Prezados, Estou tendo um erro no procedimento "ACBrPAF.SaveFileTXT_N('lista_autenticados.txt')", quando chego nesta linha se eu tenho o arquivo no diretório ele da a exception "Arquivo: Auxiliar.txt inválido" e se eu não tenho ele da a exception "Arquivo: Auxiliar.txt Não encontrado". Gostaria de uma ajuda de como configurar o AcbrAAC e o AcbrEAD corretamente. O componente acbrECF está ligado ao componente acbrACC, no acbrACC está setada a propriedade NomeArquivoAux -> Auxiliar.txt e o arquivo Auxiliar.txt está na pasta setada no caminho. Não encontrei muitas informações no demo do acbrACC e nenhuma referencia no acbrECF. Configurei o acbrACC conforme o exemplo do demo , (troquei apenas o valor da chave mas mantive com 4 digitos), O que pode estar ocorrendo ? Se possível também confirmar se obrigatóriamente no Arquivo Auxiliar Criptografado devo colocar o Número de Série da Impressora e o GT, e como fazer isso (de forma criptografada). Abaixo código que estou usando : Para o acbrEAD: procedure TFDMPafEcf.ACBrEAD1GetChavePrivada(var Chave: String); begin Chave := 'MIICXgIBAAKBgQDawShBJxM0rFLadxR8GSD5DaKVvxtlQ+OnuOZX/vOEP2pQXCiG'; Chave := Chave + 'NpQfNMDm73dWpTaqFLhuFvU+MSF+ys9u6bI2IqOmWUfEaE16cK4nKTbIm69fLDB8'; Chave := Chave + 'SnaocjMfO6LnbdJmG+dSxbLmrHE8BYX17/d7Vbuxcr1BoSDojGpubqP7OQIDAQAB'; Chave := Chave + 'AoGBAK0+F+ExTvaCGsPFVsXJKOHUuJQbW1jhYSPtPQ8nbDep+UpXEgjopHnqT3MU'; Chave := Chave + '5tAJ27bq3fzh1atBQaOmfoz6KxVZHEptcLPlpR+jSrBXyhG/mlvD54ZMKKZQb3qD'; Chave := Chave + 'b1UvHAO2CYRH7f7Y9PEGAvqXCloUVkbKl9rS7MEfaukj3xq5AkEA+Qqi8c1j47Db'; Chave := Chave + 'NyezJULfskNwK1wnxcLaFQBKfzpWD2dD0GS/dzWaB5T6d1zmxfXa8ZYv6WQULvqd'; Chave := Chave + '/BGCs+FMcwJBAODd4aDvQf6py4FocklojYbDhpp040NGUyhsVnj702Gq/oj2HBgI'; Chave := Chave + '4bce/b2H5+HwkyEsSZHMm5d/5HuNY35Y+qMCQQDoWCMTgvLZn8u1loVNkymOb9p7'; Chave := Chave + 'qZu1poe+JiparrtR3Z7oEsaK2mhdAIH40KTBNhHRaLREg8lM1yaD4HZXii+/AkA2'; Chave := Chave + 'L0EfNogAhYm0NSbU6Yyw3Iyiy2e33kpLg0+S95uH/Vw4RJWgdQNuzNj3wrftibrq'; Chave := Chave + 'U3Gm4FbdusOjwf4ng+lhAkEApd6RF3AqJXtmgtZpXrO6P8riEpE1qZXBQwdfeRBX'; Chave := Chave + 'Q22LlhcCq5vxgG78jKWeydtan9ue2ebXav/oUT+37LfHYA=='; end; procedure TFDMPafEcf.ACBrEAD1GetChavePublica(var Chave: String); begin Chave := 'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDawShBJxM0rFLadxR8GSD5DaKV'; Chave := Chave + 'vxtlQ+OnuOZX/vOEP2pQXCiGNpQfNMDm73dWpTaqFLhuFvU+MSF+ys9u6bI2IqOm'; Chave := Chave + 'WUfEaE16cK4nKTbIm69fLDB8SnaocjMfO6LnbdJmG+dSxbLmrHE8BYX17/d7Vbux'; Chave := Chave + 'cr1BoSDojGpubqP7OQIDAQAB'; end; Para o ACBRAcc : procedure TFDMPafEcf.ACBrAAC1GetChave(var Chave: String); begin Chave := '7777'; end; procedure TFDMPafEcf.ACBrAAC1VerificarRecomporNumSerie( const NumSerie: String; const ValorGT: Double; var CRO, CNI: Integer); var OK: Boolean; NumCRZ, NumCRO: Integer; VendaBruta: Double; begin // ler os dados da ultima Z no ECF FDMPAFECF.ACBrECF1.DadosUltimaReducaoZ; NumCRO := FDMPAFECF.ACBrECF1.DadosReducaoZClass.CRO; NumCRZ := FDMPAFECF.ACBrECF1.DadosReducaoZClass.CRZ; VendaBruta := FDMPAFECF.ACBrECF1.DadosReducaoZClass.ValorVendaBruta; // comparar os dados obtidos com os dados da ultima redução Z gravada no Banco de dados //OK := Comparar com dados do BD; Aqui deixei sempre como true, para teste. OK:= TRUE; // setar os parametros se os valores (CRZ, CRO e Venda Bruta) forem iguais if OK then begin CRO := NumCRO; CNI := 010101; // codigo nacional de identificação do ECF conforme tabela end; end; procedure TFDMPafEcf.ACBrAAC1VerificarRecomporValorGT( const NumSerie: String; var ValorGT: Double); var OK: Boolean; NumCRZ, NumCRO: Integer; VendaBruta: Double; begin // ler os dados da ultima Z no ECF FDMPAFECF.ACBrECF1.DadosUltimaReducaoZ; NumCRO := FDMPAFECF.ACBrECF1.DadosReducaoZClass.CRO; NumCRZ := FDMPAFECF.ACBrECF1.DadosReducaoZClass.CRZ; VendaBruta := FDMPAFECF.ACBrECF1.DadosReducaoZClass.ValorVendaBruta; // comparar os dados obtidos com os dados da ultima redução Z gravada no Banco de dados //OK := Comparar com dados do BD; Aqui deixei sempre como true, para teste. OK:= TRUE; // setar o parametro se os valores (CRZ, CRO e Venda Bruta) forem iguais if OK then ValorGT := FDMPAFECF.ACBrECF1.GrandeTotal; end; if FileExists(ExtractFilePath(Application.ExeName) + 'Auxiliar.txt') then DeleteFile(ExtractFilePath(Application.ExeName) + 'Auxiliar.txt'); AssignFile(F, ExtractFilePath(Application.ExeName) + 'Auxiliar.txt'); Rewrite(F); closefile(F); // setar o diretório onde vai ser salvo o arquivo FdmPafEcf.ACBrPAF1.Path := ExtractFilePath(Application.ExeName) + 'PAF-ECF\'; // registro dos dados do desenvolvedor //Self.PreencherHeaderArquivo(FdmPafEcf.ACBrPAF1.PAF_N.RegistroN1); // registro dos dados do aplicativo FdmPafEcf.ACBrPAF1.PAF_N.RegistroN1.RAZAOSOCIAL := FdmPafEcf.ACBrAAC1.IdentPAF.Empresa.RazaoSocial; FdmPafEcf.ACBrPAF1.PAF_N.RegistroN1.UF := FdmPafEcf.ACBrAAC1.IdentPAF.Empresa.Uf; FdmPafEcf.ACBrPAF1.PAF_N.RegistroN1.CNPJ := FdmPafEcf.ACBrAAC1.IdentPAF.Empresa.CNPJ; FdmPafEcf.ACBrPAF1.PAF_N.RegistroN1.IE := FdmPafEcf.ACBrAAC1.IdentPAF.Empresa.IE; FdmPafEcf.ACBrPAF1.PAF_N.RegistroN1.IM := FdmPafEcf.ACBrAAC1.IdentPAF.Empresa.IM; FdmPafEcf.ACBrPAF1.PAF_N.RegistroN2.NOME := FdmPafEcf.ACBrAAC1.IdentPAF.Paf.Nome; FdmPafEcf.ACBrPAF1.PAF_N.RegistroN2.VERSAO := FdmPafEcf.ACBrAAC1.IdentPAF.Paf.Versao; FdmPafEcf.ACBrPAF1.PAF_N.RegistroN2.LAUDO := FdmPafEcf.ACBrAAC1.IdentPAF.NumeroLaudo; // lista dos arquivo executaveis e seus respectivos MD5 with FdmPafEcf.ACBrAAC1.IdentPAF.OutrosArquivos.New do //Aqui só está pegando e processando o ultimo nome (easyconfigurador.exe) begin Nome := 'EmpPafEcf.exe'; end; with FdmPafEcf.ACBrAAC1.IdentPAF.OutrosArquivos.New do //Aqui só está pegando e processando o ultimo nome (easyconfigurador.exe) begin Nome := 'BemaFI32.dll'; end; // Salvar o arquivo de autenticados FdmPafEcf.ACBrPAF1.SaveFileTXT_N('lista_autenticados.txt'); // Carregar o MD5 do arquivo de autenticados FdmPafEcf.ACBrAAC1.IdentPAF.ArquivoListaAutenticados.Nome := 'lista_autenticados.txt'; FdmPafEcf.ACBrAAC1.IdentPAF.ArquivoListaAutenticados.MD5 := FdmPafEcf.ACBrEAD1.MD5FromFile(ExtractFilePath(Application.ExeName) + 'PAF-ECF\' + 'lista_autenticados.txt'); FdmPafEcf.ACBrAAC1.SalvarArquivo; // setar o MD5 do arquivo de autenticados que deve aparecer no rodapé do cupom // se a impressora for MFD então fazer a programação para que apareça nas informações complementares // se não for MFD setar a propriedade InfoRodapeCupom.MD5 do FdmPafEcf.ACBrECF if FdmPafEcf.ACBrECF1.MFD then begin FdmPafEcf.ACBrECF1.InfoRodapeCupom.MD5 := EmptyStr; if FdmPafEcf.ACBrECF1.Estado = estLivre then begin FdmPafEcf.ACBrECF1.IdentificaPAF( FdmPafEcf.ACBrAAC1.IdentPAF.Paf.Nome + ' v' + FdmPafEcf.ACBrAAC1.IdentPAF.Paf.Versao, 'MD-5: ' + FdmPafEcf.ACBrAAC1.IdentPAF.ArquivoListaAutenticados.MD5 ); end; end else begin FdmPafEcf.ACBrECF1.InfoRodapeCupom.MD5 := FdmPafEcf.ACBrAAC1.IdentPAF.ArquivoListaAutenticados.MD5; end; Grato se alguem responder.
  4. Bom dia a todos, É fato que ainda para o pacote Java, não esta completo com todas as funções necessárias, exemplo o ACBrEAD e o ACBrAAC. Tomei liberdade para encapsular a classe ACBrEADInterop.java, e criei a ACBrEAD, para encapsular alguns métodos, o método "assinarArquivoComEAD(...)", funcionou! Os métodos que ainda não implementei, não pude entender a funcionalidade, se alguém puder me explicar, eu me a habilito a terminar de implementar os outros métodos. Por favor, sintam-se livres para comentar e me corrigir: package jACBrFramework.serial.ecf; import com.sun.jna.ptr.IntByReference; import jACBrFramework.ACBrClass; import jACBrFramework.ACBrException; import jACBrFramework.interop.ACBrEADInterop; import java.nio.ByteBuffer; public class ACBrEAD extends ACBrClass { public ACBrEAD() throws ACBrException {} @Override protected void onInitialize() throws ACBrException { IntByReference handle = new IntByReference(); int ret = ACBrEADInterop.INSTANCE.EAD_Create(handle); checkResult(ret); setHandle(handle.getValue()); } @Override protected void onFinalize() throws ACBrException{ int ret = ACBrEADInterop.INSTANCE.EAD_Destroy(getHandle()); checkResult(ret); setHandle(0); } @Override protected void checkResult(int result) throws ACBrException { switch (result) { case -1: String message; int LEN = 1024; ByteBuffer buffer = ByteBuffer.allocate(LEN); int ret = ACBrEADInterop.INSTANCE.EAD_GetUltimoErro(getHandle(), buffer, LEN); message = fromUTF8(buffer, ret); throw new ACBrException(message); case -2: throw new ACBrException("ACBr EAD não inicializado."); } } // Funções /** * @return String * @param arquivo local para gravar o arquivo * @param remove boolean * @throws ACBrException */ public String assinarArquivoComEAD(String nomeArquivo, boolean remove) throws ACBrException { ByteBuffer returnBuffer = ByteBuffer.allocate(STR_BUFFER_LEN); int ret = ACBrEADInterop.INSTANCE.EAD_AssinarArquivoComEAD(getHandle(), toUTF8(nomeArquivo), remove, returnBuffer, STR_BUFFER_LEN); checkResult(ret); return fromUTF8(returnBuffer, ret); } public void calcularChavePublica() throws ACBrException { ByteBuffer returnBuffer = ByteBuffer.allocate(STR_BUFFER_LEN); int ret = ACBrEADInterop.INSTANCE.EAD_CalcularChavePublica(getHandle(), returnBuffer, STR_BUFFER_LEN); checkResult(ret); } public void calcularEADArquivo(String nomeArquivo) throws ACBrException { ByteBuffer returnBuffer = ByteBuffer.allocate(STR_BUFFER_LEN); int ret = ACBrEADInterop.INSTANCE.EAD_CalcularEADArquivo(getHandle(), toUTF8(nomeArquivo), returnBuffer, STR_BUFFER_LEN); checkResult(ret); } //int EAD_GerarChaves(int eadHandle, ByteBuffer ChavePUB, ByteBuffer ChavePRI, int bufferLen); //int EAD_GerarXMLeECFc(int eadHandle, String NomeSH, String PathArquivo); //int EAD_MD5FromFile(int eadHandle, String Arquivo, ByteBuffer MD5, int bufferLen); //int EAD_MD5FromString(int eadHandle, String AString, ByteBuffer MD5, int bufferLen); public void removeEADArquivo(String nomeArquivo) throws ACBrException { int ret = ACBrEADInterop.INSTANCE.EAD_RemoveEADArquivo(getHandle(), toUTF8(nomeArquivo)); checkResult(ret); } public void verificaEAD(String ead) throws ACBrException { int ret = ACBrEADInterop.INSTANCE.EAD_VerificarEAD(getHandle(), toUTF8(ead)); checkResult(ret); } public void verificaEADArquivo(String nomeArquivo) throws ACBrException { int ret = ACBrEADInterop.INSTANCE.EAD_VerificarEADArquivo(getHandle(), toUTF8(nomeArquivo)); checkResult(ret); } } Obrigado;
×
×
  • 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...