Jump to content

dev botao

Erro Ao Ler Certificado A1 Openssl


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

Recommended Posts

  • Membros Pro

Ola.

Estou utilizando um certificado A1 com o método OpenSSL. 

Faço assim:
 
  ACBrNFe1.Configuracoes.Certificados.Senha:=SENHA_DO_CERTIFICADO
  ACBrNFe1.Configuracoes.Certificados.Certificado:=c:\certificado\certificado.pfx ;
 
Pois bem.. 
Envio a primeira nota, faz tudo direitinho, porém, qdo tento enviar uma outra nota, da o seguinte erro:
Failed to load private pem Key From c:\certificado\certificado.pfx
 
Deu a impressão que fica algo aberto após a efetivação da primeira nota.
Existe algo que tenho que fechar ou encerrar ?
a única coisa que faço no final do processo é:
 
ACBrNFe1.NotasFiscais.Clear ;
 
Link to comment
Share on other sites

  • Membros Pro

Ola amigos..

Só para complementar agora...

O problema só ocorre quanto mandado imprimir a Danfe, caso não mande impressão, o problema não ocorre..

Faço assim:

 

ACBrNFe1.Enviar(VnrCupom,False,True) ;

 

if ACBrNFe1.NotasFiscais[0].Confirmada=True Then

   ACBrNFe1.NotasFiscais.Imprimir ;

 

Dessa forma imprime a danfe, mas na próxima nota, ocorre o problema....

 

Se eu tirar o comando de impressão, o problema não ocorre mais..

 

Eu uso FortesResport para impressão, acredito que o problema esteja ai..

No aguardo..

Link to comment
Share on other sites

  • Membros Pro

Ola pessoal..

O problema está na função que gera o QrCode...

Deixei sem impressão, e usei a função as seguir para gerar o QrCode:

NotaUtil.GetURLQRCode ;

 

Usando essa função, no próximo envio, ocorre o problema..

Não sei se estou fazendo algo errado, mas cheguei a essa situação..

Link to comment
Share on other sites

  • Membros Pro

Bom dia..

Estou fazendo NFce...

 

Quando vc diz "ler o certificado" vc quer dizer:

ACBrNFe1.Configuracoes.Certificados.Senha:=SENHA_DO_CERTIFICADO
ACBrNFe1.Configuracoes.Certificados.Certificado:=c:\certificado\certificado.pfx ;
 
Se for isso, a resposta é sim.. faço isso apenas uma vez no inicio da aplicação.
O estranho é que se eu não executo a função NotaUtil.GetURLQRCode ; o problema não ocorre !
Edited by Dércio Luis Zanatta
Link to comment
Share on other sites

  • Membros Pro

Estive verificando aqui e vi que a extração da chave privada do certificado é feita pela dll libxmlsec.dll

Vi que existe uma dll chamada libxmlsec-openssl.dll junto com os fontes..

Tentei usar essa dll, renomeando-a para libxmlsec.dll, mas ai ocorre problema ao abrir o aplicativo dizendo que falta uma função na dll chamada xmlSecShutdown.

Não sei pq existem essas duas dll.. 

Preciso renomear conforme o que quero usar ? ou deveria funcionar assim mesmo ?

Link to comment
Share on other sites

  • Membros Pro

Sim, já tentei fazer isso..

O problema deve estar na função NotaUtil.GetURLQRCode , pois se não executo essa função o erro não ocorre !

Sinceramente não sei mais o que fazer !

Esse problema não ocorre ai com vc ?

Pode fazer o teste até mesmo com o exemplo que vem junto com o acbr.. Só tem que altear para usar Fortes Report... já vai dar o problema !

Edited by Dércio Luis Zanatta
Link to comment
Share on other sites

  • Membros Pro

Regys.. aqui pra mim não tem jeito..

Consegui contornar o problema fazendo uma Gambiarra aqui..

Fiz assim:

Coloquei o componente Acbrnfe1  em um outro formulário..  Ao enviar cada nota, antes de gerar o xml, eu carrego esse formulário e alimento as propriedades do componente, quando finaliza a operação, eu dou um Free no formulário onde está o componente..  Dessa forma não ocorre o problema..

Foi a única forma que encontrei de resolver...

 

Agora o problema é outro (já existia antes também) ..

Tenho uma Daruma DR700H com o driver Spooler instalado...

Se mando imprimir a partir do prevew do Fortes, ele da um erro:  "erro ao imprimir em DR700H".. .ai eu desconecto a impressora da USB e conecto novamente, sai imprimindo blz..

Isso somente ocorre pelo Fortes, tanto com prevew como sem..

Se gero um pdf e depois mando imprimir do pdf, blz, não ocorre o erro..

Li em outros posts que vc tb usa uma Daruma desse mesmo modelo... isso ocorre com vc tb ?

Link to comment
Share on other sites

  • Moderadores

Esse problema parece ser no driver, o componente não tem acesso ao spooler, ele somente envia uma impressão normal para o modelo da impressora, quem controla tudo depois é o windows.

 

Seria interessante passar ao pessoal da Daruma isso, talvez uma configuração possa ser feita.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link to comment
Share on other sites

×
×
  • 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...