Ir para conteúdo
  • Cadastre-se

dev botao

"CarregarCertificadoDeNumeroSerie" não suportado em: TDFeOpenSSL.


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

Recommended Posts

  • Membros Pro

Boa tarde Pessoal.

Como estão?

Estou com o seguinte problema, está aparecendo a seguinte mensagem:

"CarregarCertificadoDeNumeroSerie" não suportado em: TDFeOpenSSL.
 

Porém, acontece na seguinte situação: Um cliente que tenha mais de uma empresa cadastrada no sistema, ao alternar de empresas e ambas estejam em Openssl, se ativar alguma coisa do certificado na primeira, ao alternar pra segunda empresa ele da a mensagem acima, porém se entra direto na segunda empresa  por exemplo o problema não acontece... pelo que entendi é alguma propriedade que talvez deva ser resetada, ou algo do tipo, porém não estou localizando, no wincrypt e na capicom também não tem problemas, apenas na OPENSSL armazenada em base de dados (não pelo arquivo).

Alguém tem alguma ideia do que pode ser? O problema só ocorre quando tem mais de uma empresa, se tem apenas uma funciona normalmente..

O erro acontece nessa linha:  ACBrMDFe1.ssl.CertDataVenc <- que utilizo pra pegar a data de vencimento do certificado.

Minhas configurações são as seguintes:

     DM_MDFE.ACBrMDFe1.Configuracoes.Geral.SSLCryptLib := cryopenssl;
       DM_MDFE.ACBrMDFe1.Configuracoes.Geral.SSLHttpLib := httpOpenssl;
       DM_MDFE.ACBrMDFe1.Configuracoes.Geral.SSLXmlSignLib := xsLibXml2;
      DM_MDFE.ACBrMDFe1.SSL.SSLType := LT_TLSv1_2;
      DM_MDFE.ACBrMDFe1.Configuracoes.Certificados.DadosPFX  := decodeBase64(qr.fieldbyname(certificado).asString);
          DM_MDFE.ACBrMDFe1.Configuracoes.Certificados.Senha := 'senha'
      

 

 

Editado por luisclaudio_jr
faltou informacao
Link para o comentário
Compartilhar em outros sites

Ja tentou comparar o valor "qr.fieldbyname(certificado).asString" com LerCertificado('local do arquivo certificado') se é a mesma coisa?
porque fiz um teste aqui e funcionou.


segue a funçao:
function LerCertificado(pCaminho: string): AnsiString;
var
  vFile: TFileStream;
begin
  vFile := TFileStream.Create(pCaminho, fmOpenRead);
  try
    Result := EncodeBase64(ReadStrFromStream(vFile, vFile.Size));
  finally
    vFile.Free;
  end;
end;

Fonte:
https://www.jonathanschmitt.com.br/2019/04/como-gravar-o-conteudo-do-certificado-a1-bd.html

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
5 minutos atrás, Joas Vilas Boas Fernandes disse:

Ja tentou comparar o valor "qr.fieldbyname(certificado).asString" com LerCertificado('local do arquivo certificado') se é a mesma coisa?
porque fiz um teste aqui e funcionou.


segue a funçao:
function LerCertificado(pCaminho: string): AnsiString;
var
  vFile: TFileStream;
begin
  vFile := TFileStream.Create(pCaminho, fmOpenRead);
  try
    Result := EncodeBase64(ReadStrFromStream(vFile, vFile.Size));
  finally
    vFile.Free;
  end;
end;

Fonte:
https://www.jonathanschmitt.com.br/2019/04/como-gravar-o-conteudo-do-certificado-a1-bd.html

 

Vou testar pelo arquivo local, não queria ter que colocar o arquivo pq isso vai gerar uma trabalheira..

E o que é estranho é que isso só ta ocorrendo se eu faço a troca do certificado, então provavelmente é alguma coisa que falta resetar... Ja tentei dar clear na função e tudo mais, atualizei o acbr, mas o erro persiste..

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Luis,

Você não esta alimentando a propriedade: Configuracoes.Certificados.URLPFX  ?

Se o certificado não se encontra na Nuvem essa propriedade tem que receber uma string vazia.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
Em 11/09/2020 at 18:44, BigWings disse:

Se está usando OpenSSL, certifique-se de definir a configuração:


ACBrNFe.Configuracoes.Certificados.NumeroSerie := '';

 

Bom dia amigos

 

@Italo Jurisato Junior No caso eu to pegando de um banco de dados, então estou usando o DadosPFX.

 

@BigWings COloquei o que vc me passou, porém agora da outra mensagem:

"DadosPFX, ArquivoPFX, URLPFX ou NumeroSerie não especificados !"
 

MAsss, eu debuguei ele está alimentando o DadosPFX, passa pela senha também e hora que chega na hora de "usar" o certificado que apresenta o problema

Lembrando que o problema só ocorre ao trocar de empresa e passar novamente na rotina que popula o certificado.. Na Primeira vez ocorre tudo  normalmente.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Senhores, acho que descobri o que ocorre, em outro lugar estava tendo uma mesma chamada e estava passando uma senha aleatória.. mesmo após passando em branco o sistema não estava entendendo, Removi as linhas e deixei apenas pra capicom/wincrypt e resolveu.

Obrigado a todos

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1312 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...