Ir para conteúdo
  • Cadastre-se

dev botao

dadospfx arquivopfx ou numeroserie não especificados


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

Recommended Posts

Postado

Prezados, sempre utilizei o arquivo pfx normalmente até a ultima atualização que fiz no acbrnfe, não sei dizer a quanto tempo eu estava sem update, agora, ele funciona normalmente, mais sempre exibe a mensagem "dadospfx arquivopfx ou numeroserie não especificados"

Como uso windows 2003 server utilizo sempre:

LibLOpenSLL

cryOpenSSL

httpOpenSSL

xsXmlSec

LT_TLSv1_2

E por usar somente o PFX não carrego o numero de série, porém quando coloco para testar da erro Certificado Serie XXXXXXXXXXXXX não encontrado.

 

Esta validação foi implementada recentemente ?, como posso resolver ?

 

Agradeço muito.

  • Fundadores
Postado

provavelmente você está informando Numero de Série e Arquivo PFX... um anula o outro.. apenas o ultimo informado, ficará ativo...

Solução, informe apenas o ArquivoPFX

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Postado
32 minutos atrás, Daniel Simoes disse:

provavelmente você está informando Numero de Série e Arquivo PFX... um anula o outro.. apenas o ultimo informado, ficará ativo...

Solução, informe apenas o ArquivoPFX

Acho que não é caso pois não informo em momento algum o serial somente os itens abaixo:

 

 ACBrNFe1.Configuracoes.Certificados.ArquivoPFX     := edtCaminho.Text;
  ACBrNFe1.Configuracoes.Certificados.Senha          := edtSenha.Text;
  ACBrNFe1.Configuracoes.Certificados.NumeroSerie    := '';

 

Uma coisa estanha é que debugando o codigo vi que o local da mensagem é :

 

 

procedure TDFeSSLCryptClass.CarregarCertificado;
begin
  DescarregarCertificado;

  Clear;
  if not EstaVazio(FpDFeSSL.URLPFX) then
    CarregarCertificadoDeURLPFX

  else if (not EstaVazio(FpDFeSSL.DadosPFX)) then
      CarregarCertificadoDeDadosPFX

  else if not EstaVazio(FpDFeSSL.ArquivoPFX) then
    CarregarCertificadoDeArquivoPFX

  else if NaoEstaVazio(FpDFeSSL.NumeroSerie) then
    CarregarCertificadoDeNumeroSerie

  else
    raise EACBrDFeException.Create( 'DadosPFX, ArquivoPFX, URLPFX ou NumeroSerie não especificados !');

  LerInfoCertificadoCarregado;
  FpCertificadoLido := True;
end;

 

E quando vejo o que esta passando nas linhas todas funções retornam sem valor, mais mesmo assim, tudo funciona, consigo emitir nfe tudo mais, só o erro mesmo que exibena tela.

  • Moderadores
Postado

Tem alguma das propriedades que é configurada que é preciso antes das outras.

olhe o exemplo do SVN do ACBrNFe na procedure ConfigurarComponente linha 3561 do form principal

veja se tu tá informando os dados nessa ordem ou tem algo antes.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

eu fiz assim e deu certo.

ACBrCTe.Configuracoes.Geral.SSLLib        := TSSLLib(dados.qryConfigTIPO_EMISSAO.Value);

  ACBrCTe.Configuracoes.Certificados.ArquivoPFX  :=dados.qryConfigCAMINHO_CERTIFICADO.Value;
  ACBrCTe.Configuracoes.Certificados.NumeroSerie :=dados.qryConfigNUMEROSERIECERTFICADO.Value;
  ACBrCTe.Configuracoes.Certificados.Senha       :=dados.qryConfigSENHACERTIFICADO.Value;

  ACBrCTe.Configuracoes.Arquivos.AdicionarLiteral:= true;
  ACBrCTe.Configuracoes.Arquivos.EmissaoPathCTe  := true;
  ACBrCTe.Configuracoes.Arquivos.SepararPorMes   := true;
  ACBrCTe.Configuracoes.Arquivos.SepararPorCNPJ  := true;


  ACBrCTe.Configuracoes.Arquivos.PathEvento      :=trim(dados.qryConfigPATH_EVENTO_CTE.Value);
  ACBrCTe.Configuracoes.Arquivos.PathSalvar      :=trim(dados.qryConfigPATH_SALVAR_CTE.Value);
  ACBrCTe.Configuracoes.Arquivos.PathCTe         :=trim(dados.qryConfigPATH_ENVIADAS_CTE.Value);
  ACBrCTe.Configuracoes.Arquivos.PathSchemas     :=dados.qryConfigPATH_SCHEMA_CTE.Value;
  ACBrCTe.Configuracoes.Arquivos.PathInu         := dados.qryConfigPATH_INU_CTE.Value;

  PathMensal := ACBrCTe.Configuracoes.Arquivos.GetPathCTe(0);
  case dados.qryConfigVERSAO_CTE.Value of
    0:
      ACBrCTe.Configuracoes.Geral.VersaoDF := TVersaoCTe(0);
    1:
      ACBrCTe.Configuracoes.Geral.VersaoDF := TVersaoCTe(1);
  end;


    ACBrCTe.Configuracoes.Geral.SSLCryptLib   := TSSLCryptLib(dados.qryConfigCRYPTLIB.AsInteger);
    ACBrCTe.Configuracoes.Geral.SSLHttpLib    := TSSLHttpLib(dados.qryConfigHTTPLIB.AsInteger);
    ACBrCTe.Configuracoes.Geral.SSLXmlSignLib := TSSLXmlSignLib(dados.qryConfigXMLSIGN.AsInteger);

    ACBrCTe.SSL.SSLType := TSSLType(dados.qryconfigSSL_TIPO.AsInteger);

  //ACBrCTe.SSL.CarregarCertificadoSeNecessario;

  ACBrCTe.Configuracoes.Arquivos.PathSalvar := PathMensal;
  ACBrCTe.DACTE.PathPDF := dados.qryConfigPATH_PDF_CTE.Value;

  // Configurações -> WebServices
  ACBrCTe.Configuracoes.WebServices.AguardarConsultaRet := 15;
  ACBrCTe.Configuracoes.WebServices.AjustaAguardaConsultaRet := true;
  ACBrCTe.Configuracoes.WebServices.IntervaloTentativas := 5;
  ACBrCTe.Configuracoes.WebServices.Tentativas := 15;
  ACBrCTe.Configuracoes.WebServices.UF := dados.qryConfigUF.Text;
  ACBrCTe.Configuracoes.WebServices.Visualizar := false;
  if dados.qryConfigVISUALIZAR.Value = 'S' then
    ACBrCTe.Configuracoes.WebServices.Visualizar := true;
  ACBrCTe.Configuracoes.WebServices.Salvar := false;


  // DAMDFe
  if ACBrCTe.DACTE <> nil then
  begin
    ACBrCTe.DACTE.PathPDF := dados.qryConfigPATH_PDF_CTE.Value;
    ACBrCTe.DACTE.ExpandeLogoMarca := false;
    ACBrCTe.DACTE.Logo := dados.qryConfigLOGOMARCA.Value;
    ACBrCTe.DACTE.TipoDACTE := StrToTpImp(Ok, IntToStr(1));
  end;

  // ACBrCTe.Configuracoes.Arquivos.Salvar := true;
  ACBrCTe.Configuracoes.WebServices.Ambiente := taProducao;
  if dados.qryConfigAMBIENTE.Value = 1 then
    ACBrCTe.Configuracoes.WebServices.Ambiente := taHomologacao;

  ACBrCTeDACTeRL1.Sistema := dados.qryParametroEMPRESA.Value + ' | ' +
    dados.qryparametroFONE1.Value + ' ' + dados.qryparametroFONE2.Value;
  ACBrCTeDACTeRL1.Site := dados.qryparametroSITE.Value;

  • Curtir 1
Postado
5 horas atrás, AllyRafhiyy E N Nunes disse:

eu fiz assim e deu certo.

ACBrCTe.Configuracoes.Geral.SSLLib        := TSSLLib(dados.qryConfigTIPO_EMISSAO.Value);

  ACBrCTe.Configuracoes.Certificados.ArquivoPFX  :=dados.qryConfigCAMINHO_CERTIFICADO.Value;
  ACBrCTe.Configuracoes.Certificados.NumeroSerie :=dados.qryConfigNUMEROSERIECERTFICADO.Value;
  ACBrCTe.Configuracoes.Certificados.Senha       :=dados.qryConfigSENHACERTIFICADO.Value;

  ACBrCTe.Configuracoes.Arquivos.AdicionarLiteral:= true;
  ACBrCTe.Configuracoes.Arquivos.EmissaoPathCTe  := true;
  ACBrCTe.Configuracoes.Arquivos.SepararPorMes   := true;
  ACBrCTe.Configuracoes.Arquivos.SepararPorCNPJ  := true;


  ACBrCTe.Configuracoes.Arquivos.PathEvento      :=trim(dados.qryConfigPATH_EVENTO_CTE.Value);
  ACBrCTe.Configuracoes.Arquivos.PathSalvar      :=trim(dados.qryConfigPATH_SALVAR_CTE.Value);
  ACBrCTe.Configuracoes.Arquivos.PathCTe         :=trim(dados.qryConfigPATH_ENVIADAS_CTE.Value);
  ACBrCTe.Configuracoes.Arquivos.PathSchemas     :=dados.qryConfigPATH_SCHEMA_CTE.Value;
  ACBrCTe.Configuracoes.Arquivos.PathInu         := dados.qryConfigPATH_INU_CTE.Value;

  PathMensal := ACBrCTe.Configuracoes.Arquivos.GetPathCTe(0);
  case dados.qryConfigVERSAO_CTE.Value of
    0:
      ACBrCTe.Configuracoes.Geral.VersaoDF := TVersaoCTe(0);
    1:
      ACBrCTe.Configuracoes.Geral.VersaoDF := TVersaoCTe(1);
  end;


    ACBrCTe.Configuracoes.Geral.SSLCryptLib   := TSSLCryptLib(dados.qryConfigCRYPTLIB.AsInteger);
    ACBrCTe.Configuracoes.Geral.SSLHttpLib    := TSSLHttpLib(dados.qryConfigHTTPLIB.AsInteger);
    ACBrCTe.Configuracoes.Geral.SSLXmlSignLib := TSSLXmlSignLib(dados.qryConfigXMLSIGN.AsInteger);

    ACBrCTe.SSL.SSLType := TSSLType(dados.qryconfigSSL_TIPO.AsInteger);

  //ACBrCTe.SSL.CarregarCertificadoSeNecessario;

  ACBrCTe.Configuracoes.Arquivos.PathSalvar := PathMensal;
  ACBrCTe.DACTE.PathPDF := dados.qryConfigPATH_PDF_CTE.Value;

  // Configurações -> WebServices
  ACBrCTe.Configuracoes.WebServices.AguardarConsultaRet := 15;
  ACBrCTe.Configuracoes.WebServices.AjustaAguardaConsultaRet := true;
  ACBrCTe.Configuracoes.WebServices.IntervaloTentativas := 5;
  ACBrCTe.Configuracoes.WebServices.Tentativas := 15;
  ACBrCTe.Configuracoes.WebServices.UF := dados.qryConfigUF.Text;
  ACBrCTe.Configuracoes.WebServices.Visualizar := false;
  if dados.qryConfigVISUALIZAR.Value = 'S' then
    ACBrCTe.Configuracoes.WebServices.Visualizar := true;
  ACBrCTe.Configuracoes.WebServices.Salvar := false;


  // DAMDFe
  if ACBrCTe.DACTE <> nil then
  begin
    ACBrCTe.DACTE.PathPDF := dados.qryConfigPATH_PDF_CTE.Value;
    ACBrCTe.DACTE.ExpandeLogoMarca := false;
    ACBrCTe.DACTE.Logo := dados.qryConfigLOGOMARCA.Value;
    ACBrCTe.DACTE.TipoDACTE := StrToTpImp(Ok, IntToStr(1));
  end;

  // ACBrCTe.Configuracoes.Arquivos.Salvar := true;
  ACBrCTe.Configuracoes.WebServices.Ambiente := taProducao;
  if dados.qryConfigAMBIENTE.Value = 1 then
    ACBrCTe.Configuracoes.WebServices.Ambiente := taHomologacao;

  ACBrCTeDACTeRL1.Sistema := dados.qryParametroEMPRESA.Value + ' | ' +
    dados.qryparametroFONE1.Value + ' ' + dados.qryparametroFONE2.Value;
  ACBrCTeDACTeRL1.Site := dados.qryparametroSITE.Value;

Obrigado amigo, vou analisar aqui, será que a ordem do CTE é a mesma do NFE ?, mais vou verificar muito obrigado.

Postado
21 horas atrás, Juliomar Marchetti disse:

Veja no exemplo que lhe citei acima. na pasta de exemplos/ACBrDFe/ACBrNFe/Delphi lá tem para o componente ACBrNFe e para os demais também. o texto que ele colou acima é igual no exemplo

Sim, mais como eu uso o xmlsec o comportamento é diferente preciso alterar o ACBR.INC e descomentar a linha que habilita o uso, então acredito que esteja se comportando de maneira diferente.

  • Fundadores
Postado

Hoje o XMLSec não é mais necessário no ACBr, por isso ele vem desabilitado no ACBr.inc, e mantemos o suporte por XMLSec, por compatibilidade...

Tudo que o XMLSec fazia, foi reescrito em Pascal, na Unit ACBrDFeXsLibXml2.pas

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

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