Jump to content

dev botao

Chave Não Informada


Geovani N. de Paula
  • Este tópico foi criado há 3597 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Saudações.
 
Estou com problema ao atualizar o md5 da lista de arquivos MD5 no arquivo criptografado.
 
Seguinte, gerei o par de chaves através do demo do acbr;
Gerei o arquivo criptografado com os dados da impressora fiscal e salvei o arquivo através do componente ACBrAAC, até então tudo bem, utilizei a chave privada gerada pelo componente ACBrEAD através do método acbrAAC.setKey("minha chave ") no mesmo formato gerado pelo componente, inclusive com as quebras de linha;

 

O Arquivo foi salvo com sucesso, quando mando carregar o arquivo com o comando acbrAAC.abrirArquivo(), o arquivo é carregado com as informações que foi gravado.

 

Até aqui tudo bem, o problema ocorre que após eu gerar a lista de arquivos md5, salvar o documento, gerar o md5 da lista, eu utilizo o comando acbrAac.atualizarMD5(md5), ocorre a seguinte exception: 

 
jACBrFramework.ACBrException: Chave não informada ou Evento ACBrAAC.OnGetChave não programado

 

porém eu setei a chave no acbrAac, como eu fiz na geração do arquivo.

 

Alguém tem alguma sugestão?

 

Att

Edited by CELL Corporação Tecnológic

Geovani Nicolau de Paula

Cell Corporação Tecnológica

Link to comment
Share on other sites

Boa tarde.

 

Tive um problema parecido e resolvi setando a chave novamente no componente. Basicamente tenho o seguinte:

 

1) Três componentes ACBrECF, ACBrEAD e ACBrAAC;

2) Referencio os componentes ACBrEAD e ACBrAAC, no componente ACBrECF;

3) Na hora da chamada eu recrio o listener das chaves privadas;

 

Ainda não consegui detectar, mas em alguns momentos o handler não é acionado. Como resolveu a situação fui para outros pontos que precisava resolver na app. Penso que seja algo vinculo a lock no threads e o JNA não aciona ou algo do tipo.

 

Att.,

Link to comment
Share on other sites

jmsandy, nesse meio tempo entre o post e a sua resposta, cheguei exatamente ao que você falou acima, porém achei que fosse algo a mais, estou tentando vasculhar o projeto em delph, porém, meu conhecimento nessa linguagem é muito pouco.

 

 

Por hora vou fazer como você disse, mas acredito que isso seja um problema a ser observado e corrigido.

 

Att

Geovani Nicolau de Paula

Cell Corporação Tecnológica

Link to comment
Share on other sites

jmsandy, nesse meio tempo entre o post e a sua resposta, cheguei exatamente ao que você falou acima, porém achei que fosse algo a mais, estou tentando vasculhar o projeto em delph, porém, meu conhecimento nessa linguagem é muito pouco.

 

 

Por hora vou fazer como você disse, mas acredito que isso seja um problema a ser observado e corrigido.

 

Att

Tanto em Delphi quanto em .NET isso acaba sendo mais tranquilo. O que complica nestes casos é o acesso via JNA por algum motivo o handler não é acionado, talvez pela gerencia de threads, synchronized, etc. Não tenho uma ideia fixa sobre isso.

 

Mas com certeza é um ponto que precisa ser verificado.

 

Att.,

Link to comment
Share on other sites

Tanto em Delphi quanto em .NET isso acaba sendo mais tranquilo. O que complica nestes casos é o acesso via JNA por algum motivo o handler não é acionado, talvez pela gerencia de threads, synchronized, etc. Não tenho uma ideia fixa sobre isso.

 

Mas com certeza é um ponto que precisa ser verificado.

 

Att.,

 

Bom dia jmsandy, seguinte, tenho associado ao meu ACBrECF um ACBrEAD e um ACBrAAC, alterei para adicionar novante a chave no ACBrAAC antes de atualizar o md5 da lista de arquivos, porém todo o item que eu realizo a venda ele emite a mesma mensagem, pelo que percebi ele ele imprime na impressora, mas não consegue atualizar o grande total no arquivo criptografado, tem alguma ideia de como resolver essa questão?

 

Att.

Geovani Nicolau de Paula

Cell Corporação Tecnológica

Link to comment
Share on other sites

Boa tarde CELL Corporação Tecnológic,

 

Estamos pesquisando para ver se conseguimos resolver estes problema ao acionar os listeners. O que fiz aqui, como paliativo foi o seguinte:

 

"Tenho uma classe que encapsula os componentes do ACBr e esta classe é Singleton, que retorna uma instância que obtenho os componentes. Sempre que aciona o getInstace() já seto as chaves novamente nos componentes, como os componentes são únicos dentro do ciclo de vida da jvm, acaba redundando as chaves, mas este erro desaparece".

 

O ideal é descobrir como resolver este problema de vez, estamos olhando como resolver, mas da forma acima é possível contornar.

 

Ps.: Não sei se você tem alguma operação que faz uso de multithread, para controlar o acesso concorrente a impressora, coloquei nessa classe singleton um conceito de semáforo nos componentes e resolveu problemas de acesso concorrente aos recursos da ECF.

 

Att.,

Link to comment
Share on other sites

Boa tarde CELL Corporação Tecnológic,

 

Estamos pesquisando para ver se conseguimos resolver estes problema ao acionar os listeners. O que fiz aqui, como paliativo foi o seguinte:

 

"Tenho uma classe que encapsula os componentes do ACBr e esta classe é Singleton, que retorna uma instância que obtenho os componentes. Sempre que aciona o getInstace() já seto as chaves novamente nos componentes, como os componentes são únicos dentro do ciclo de vida da jvm, acaba redundando as chaves, mas este erro desaparece".

 

O ideal é descobrir como resolver este problema de vez, estamos olhando como resolver, mas da forma acima é possível contornar.

 

Ps.: Não sei se você tem alguma operação que faz uso de multithread, para controlar o acesso concorrente a impressora, coloquei nessa classe singleton um conceito de semáforo nos componentes e resolveu problemas de acesso concorrente aos recursos da ECF.

 

Att.,

Entendi, vou testar aqui.

 

Att

Geovani Nicolau de Paula

Cell Corporação Tecnológica

Link to comment
Share on other sites

Boa tarde CELL Corporação Tecnológic,

 

Estamos pesquisando para ver se conseguimos resolver estes problema ao acionar os listeners. O que fiz aqui, como paliativo foi o seguinte:

 

"Tenho uma classe que encapsula os componentes do ACBr e esta classe é Singleton, que retorna uma instância que obtenho os componentes. Sempre que aciona o getInstace() já seto as chaves novamente nos componentes, como os componentes são únicos dentro do ciclo de vida da jvm, acaba redundando as chaves, mas este erro desaparece".

 

O ideal é descobrir como resolver este problema de vez, estamos olhando como resolver, mas da forma acima é possível contornar.

 

Ps.: Não sei se você tem alguma operação que faz uso de multithread, para controlar o acesso concorrente a impressora, coloquei nessa classe singleton um conceito de semáforo nos componentes e resolveu problemas de acesso concorrente aos recursos da ECF.

 

Att.,

jmsandy, fiz como você orientou e parou de ocorrer os erros de chave.

 

Vou manter assim até que seja realizado a correção no acbr, por enquanto muito obrigado por mais essa ajuda.

 

Att

Geovani Nicolau de Paula

Cell Corporação Tecnológica

Link to comment
Share on other sites

  • Este tópico foi criado há 3597 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...