Ir para conteúdo
  • Cadastre-se

"CarregarCertificadoDeDadosPFX" não implementado em: TDFeSSLCryptClass


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

Recommended Posts

Postado

Bom dia pessoal, estou com um problema para utilizar as configurações de SSL e certificado digital.

Minhas configurações de SSL estão assim, tentei usar com base na demo do acbr cte

image.png.0076b947ce56993359655fa00721c79b.png
 

  ArqIni := TIniFile.Create(gsapppath+'CertificadoDigital.ini');

  ACBrCTe.Configuracoes.Geral.SSLLib := TSSLLib(Integer(ArqIni.ReadString('SSL', 'SSL_LIB', '')));                   
  ACBrCTe.Configuracoes.Geral.SSLCryptLib := TSSLCryptLib(Integer(ArqIni.ReadString('SSL', 'CRYPT_LIB', '')));
  ACBrCTe.Configuracoes.Geral.SSLHttpLib := TSSLHttpLib(Integer(ArqIni.ReadString('SSL', 'HTTP_LIB', '')));           
  ACBrCTe.Configuracoes.Geral.SSLXmlSignLib := TSSLXmlSignLib(Integer(ArqIni.ReadString('SSL', 'XML_SIGN_LIB', ''))); 
  ACBrCTe.SSL.SSLType := TSSLType(Integer(ArqIni.ReadString('SSL', 'SSL_TYPE', '')));                                 

  if cdsEmpresa.FieldValues['CAMPOEXTRA18'] = '1' then // CONFIGURACAO DE CERTIFICADO PADRAO
  begin
    if (Trim(ArqIni.ReadString('CERTIFICADO_DIGITAL_A1', 'PATH', '')) <> '') and (Trim(ArqIni.ReadString('CERTIFICADO_DIGITAL_A1', 'SENHA', '')) <> '') then
    begin
      ACBrCTe.Configuracoes.Certificados.ArquivoPFX := ArqIni.ReadString('CERTIFICADO_DIGITAL_A1', 'PATH', '');
      ACBrCTe.Configuracoes.Certificados.Senha := ArqIni.ReadString('CERTIFICADO_DIGITAL_A1', 'SENHA', '');
    end
    else
    begin
      if Trim(ArqIni.ReadString('CERTIFICADO_DIGITAL_A3', 'SERIE', '')) <> '' then
        ACBrCTe.Configuracoes.Certificados.NumeroSerie := ArqIni.ReadString('CERTIFICADO_DIGITAL_A3', 'SERIE', '');
    end;
  end;

 

No envio do CT-e para autorização, me retorna o seguinte erro.

image.png.3c6d30e0e43e4c57989fc299549e04a6.png

 

Postado

Bom Italo, no exemplo ele funciona. Se não entrar na condição do if ele vai pegar a configuração padrão que é selecionando o certificado instalado no Windows.

Não sei se pode ser na hora de alimentar as configurações de SSL lido do .ini, porque eu fiz um teste rápido fixando direto as configurações e parece que funcionou.

Fixei dessa forma.

ACBrCTe.Configuracoes.Geral.SSLLib := libWinCrypt;
ACBrCTe.Configuracoes.Geral.SSLCryptLib := cryWinCrypt;
ACBrCTe.Configuracoes.Geral.SSLHttpLib := httpWinHttp;
ACBrCTe.Configuracoes.Geral.SSLXmlSignLib := xsLibXml2;
ACBrCTe.SSL.SSLType := LT_TLSv1_2;

 

  • Consultores
  • Solution
Postado

Boa tarde Wellisson,

Você pode debugar a linha abaixo para saber qual é o valor que esta sendo atribuído ao campo SSLLib.

Desta forma você pode encontrar onde esta o problema.

ACBrCTe.Configuracoes.Geral.SSLLib := TSSLLib(Integer(ArqIni.ReadString('SSL', 'SSL_LIB', '')));  
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • 3 meses depois ...
  • Este tópico foi criado há 1391 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...
The popup will be closed in 10 segundos...