Ir para conteúdo
  • Cadastre-se

dev botao

"CarregarCertificadoDeDadosPFX" não implementado em: TDFeSSLCryptClass


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

Recommended Posts

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

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Wellisson,

Esse problema também ocorre no programa exemplo do componente?

Outra coisa se a condição do if abaixo for falsa ele faz o que?

if cdsEmpresa.FieldValues['CAMPOEXTRA18'] = '1' then
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

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;

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

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 / 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

  • 3 meses depois ...
  • Este tópico foi criado há 626 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.