Ir para conteúdo
  • Cadastre-se

dev botao

ACBr.LerINI (Senha do Certificado Inválida)


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

Recommended Posts

  • Membros Pro

Pessoal, vejam se podem me ajudar a enxergar meu erro:

eu configuro o ACBrMonitor.ini com os dados do certificado, se eu abrir o ACBrMonitor.ini o campo senha do Certificado está correta.

Depois de enviar o comando ACBr.LerINI parece que a senha está sendo alterada pelo monitor pois, qualquer operação que tento fazer me retorna erro que não foi possível assinar (NFe) por motivo de senha inválida, mas se altero a senha dentro do monitor tudo volta a funcionar.

 

Minha dúvida é se é possível passar a senha do certificado dessa forma? Se sim o que será que estou fazendo errado?

 

obrigado a todos,

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Pessoal o mesmo problema está acontecendo com a senha do E-mail, no arquivo ACBrMonitor.ini está correta mas quando o monitor le o arquivo não consigo enviar e-mail por conta da senha e do nome de usuário que passam a ser lidos de forma diferente.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
// trecho do método LerINI   
edtSenha.Text := LeINICrypt(INI, 'Certificado', 'Senha', _C);
ACBrNFe1.Configuracoes.Certificados.Senha := edtSenha.Text;
ACBrCTe1.Configuracoes.Certificados.Senha := edtSenha.Text;
ACBrMDFe1.Configuracoes.Certificados.Senha := edtSenha.Text;
ACBrBlocoX1.Configuracoes.Certificados.Senha := edtSenha.Text;
ACBrGNRE1.Configuracoes.Certificados.Senha := edtSenha.Text;    

Pessoal estou tentando encontrar o problema....o trecho acima é do método ler....e abaixo o método que faz a criptografia

Function LeINICrypt(INI : TIniFile; Section, Ident, Pass : String) : String ;
  var SStream  : TStringStream ;
      CryptStr : String ;
begin
   SStream := TStringStream.Create('') ;
   try
      INI.ReadBinaryStream(Section, Ident, SStream) ;
      CryptStr := SStream.DataString  ;
      Result   := StrCrypt( CryptStr, Pass) ;
   finally
      SStream.Free ;
   end ;
end ;    

aparentemente está OK....apensar de eu não conseguir achar qual o método que utiliza a senha para ver se descriptografa normalmente.....

Alguém sabe me dizer pode ser alguma coisa de dll que tem que estar na pasta do sistema ou coisa do gênero?

 

Editado por nebrio
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Nelson, boa tarde!

Obrigado pela resposta!

Eu não criptografo não só postei o trecho do código do monitor que faz isso...eu faço tudo pelo monitor...

O que eu faço é gerar um INI com as configurações e depois peço para o monitor ler esse INI (ACBR.LERINI), porém, depois que ele faz isso, de alguma forma ele  esta criptografando de alguma forma que depois de criptografar a senha fica errada tanto que se eu entrar no monitor e colocar a senha na mão e depois salvar eu consigo utilizar normalmente... inclusive ele gravar no Acbrmonitor.ini de forma correta visto que se eu usar o lerini ele não dá nenhum problema mais....

O problema só ocorre quando eu monto o arquivo de configuração na mão e passo a senha por ele ainda sem criptografar

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Desculpe a demora tive uns probleminhas...

Cara veja o .ini que eu gero

[Certificado]
ArquivoPFX=D:\CertificadoDigital2016.pfx
NumeroSerie=
Senha=12345678

Depois de executar o comando LerINI e salvar novamente as configurações pelo pelo ACBrMonitorPLUS veja como ele monta:

[Certificado]
ArquivoPFX=D:\Certificado Digital Confor 2016.pfx
NumeroSerie=
Senha=12345678

 

Aparentemente depois de ler ele não grava o Acbrmonitor.ini com a criptografia na senha do Certificado.

 

Porém, se eu digitar manualmente a senha do certificado direto no AcbrMonitorPLUS ele gava assim:

[Certificado]
ArquivoPFX=D:\Certificado Digital Confor 2016.pfx
NumeroSerie=
Senha=456B581E3561774C

com a senha criptograda e funciona...

Eu mesmo compilei o monitor na versão 0.3.08.1 e ACbr versão 0.9.0a

Sinceramente não sei dizer qual é o problema.....

Link para o comentário
Compartilhar em outros sites

Então, 

Pra você salvar o INI, ou montá-lo, já deve fazer com a senha criptografada.

E mesmo assim, usar o mesmo tipo de criptografia(Algoritmo) usado pelo Acbr.

Quando o Acbr faz a leitura de sua senha 12345678, ele deve estar considerando que ela já esteja criptografada.

Eu sou meio novo por aqui, mas imagino que seja isso.

Editado por Nelson A Sousa
Link para o comentário
Compartilhar em outros sites

  • Moderadores
14 minutos atrás, nebrio disse:

Pessoal, bom dia!!!

Alguém sabe me dizer se para montar o Acbrmonitor.ini eu tenho que passar a senha do certificado já criptografada?

Sim. A senha deve estar no formato que o Monitor sabe ler.

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...
  • Moderadores
2 horas atrás, lucioam disse:

Qual arquivo fonte está o GravaINICrypt  ?

Tô apanhando desse Lazarus.

 

Esse tópico é de 2016. Por gentileza, crie um novo tópico, descrevendo a sua dúvida ou problema.

 
Equipe ACBr

Felipe Eduardo Resende Mesquita

Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2192 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...