Ir para conteúdo
  • Cadastre-se

dev botao

Erro ao carregar o certificado A1 via DadosPFX - Linux


Ver Solução Respondido por Rafael Dias,
  • Este tópico foi criado há 1633 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Com as últimas atualizações trocamos os Add por New conforme necessário e a carga do Certifcado A1 via DadosPFX parou de funcionar.

Pelo que observei o erro está ocorrendo no arquivo ACBr/Fontes/ACBrDFe/ACBrDFeOpenSSL.pas na função GetNotAfter() que passou a dar erro na seguinte linha:

function GetNotAfter( cert: pX509 ): TDateTime;
var
 Validade: String;
 notAfter: PASN1_TIME;
begin
 notAfter := cert^.cert_info^.validity^.notAfter;
 Validade := {$IFDEF DELPHIXE4_UP}AnsiStrings.{$ENDIF}StrPas( PAnsiChar(notAfter^.data) );  <===== ERRO AQUI
 SetLength(Validade, notAfter^.length);
 Validade := OnlyNumber(Validade);
   if notAfter^.asn1_type = V_ASN1_UTCTIME then  // anos com 2 dígitos
   Validade :=  LeftStr(IntToStrZero(YearOf(Now),4),2) + Validade;
   Result := StoD(Validade);
end;

Estamos usando Linux Ubuntu 18.04 LTS com Lazarus 2.0.2, fontes do ACBr direto do SVN e libxmlsec1 1.2.28 instalada diretamente dos fontes.

Este aplicativo PDV (com TEF) está em produção há cerca de 2 anos, a versão que está rodando atualmente tem uns 2 meses, ao tentar simplesmente compilar após um "svn update" no ACBr ela parou de funcionar. A única alteração que fizemos nos nossos fontes foi trocar os Add (que estavam deprecated) por New onde necessário. No ambiente, além de atualizar o ACBr atualizamos apenas a libxmlsec1 (pois a do Ubuntu vem danificada).

Link para o comentário
Compartilhar em outros sites

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