Ir para conteúdo
  • Cadastre-se

dev botao

NFe Selecionar certificado Digital


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

Recommended Posts

Prezado colegas da ACBr, bom dia!

Por favor alguém poderia me dar um help?   

Estou com o seguinte erro: "DadosPFX, ArquivoPFX, URLPFX ou NumeroSerie não especificados !"

Segue abaixo o código fonte.
Por favor alguém poderia me dar um help onde no código abaixo estou errando?
Desde já agradeço. Obrigado.


procedure TFTestaCertificadoDigital.spbtnSelecionaClick(Sender: TObject);
var
   A: TDFeSSL;
   I: Integer;
   xmlSig: TDFeSSLXmlSignClass;
   xmlOr: TStringList;
   xmlAs: TStringList;
   XMLAss, ArqXML: string;
begin
     A := TDFeSSL.Create;
     A.SSLCryptLib := cryWinCrypt;
     A.SSLXmlSignLib := xsLibXml2;
     A.SSLType := LT_TLSv1_2;
     A.SSLDgst := dgstSHA256;
     A.SelecionarCertificado;

     //Mover os dados do Certificado para os Label´s
     MoveLabel;
     
     try
       ShowMessage ('Certifivado Digital carregado com sucesso.');
     finally
       
     end;
     A.Free;
end;

procedure TFTestaCertificadoDigital.MoveLabel;
begin
     //Numero de Série do Certificado
     Label3.Caption := ACBrNFe1.Configuracoes.Certificados.NumeroSerie;

     //Nome do Certificado
     Label5.Caption := (ACBrNFe1.SSL.CertSubjectName + sLineBreak + sLineBreak +
                        'Razão Social: ' + ACBrNFe1.SSL.CertRazaoSocial);

     //Subject Name
     Label7.Caption := (ACBrNFe1.SSL.CertSubjectName);

     //CNPJ
     Label9.Caption := ACBrNFe1.SSL.CertCNPJ;
     
     //Emissor
     Label13.Caption := ACBrNFe1.SSL.CertCertificadora;

     //Validade
     Label3.Caption := (DateTimeToStr(ACBrNFe1.SSL.CertDataVenc));

     //Certificado
     Label15.Caption := ACBrNFe1.SSL.CertIssuerName;

    
     //Verifica se o Certificado esta instalado e se sim a validade
     try
        //if ACBrNFe1.Configuracoes.Certificados.GetCertificado.PrivateKey.IsHardwareDevice = False then
        if ACBrNFe1.SSL.SelecionarCertificado.PrivateKey.IsHardwareDevice = False then

     except
        ShowMessage('ERRO: "Certificado Digital" selecionado NÃO ENCONTRADO ou NÃO INSTALADO.' +#13+
                    'Favor entrar em contato com o "Suporte do emissor do Certificado Digital" para solucionar o problema.');
     end;
     //VER VALIDADE DO CERTIFICADO
     //if ACBrNFe1.Configuracoes.Certificados.DataVenc < date then

      if ACBrNFe1.SSL.CertDataVenc < date then

     ShowMessage('ERRO: O "Certificado Digital" ESTÁ VENCIDO.' +#13+
                 '      Venceu em: '+ DateTimeToStr(ACBrNFe1.SSL.CertDataVenc) +#13+
                 '      Favor RENOVAR o seu "Certificado Digital".');
     //AVISO DE VENCIMENTO DO CERTIFICADO COM 30 DIAS ANTES
     if (Date - 30) < ACBrNFe1.SSL.CertDataVenc then
     ShowMessage('ALERTA: O "Certificado Digital" vencerá em: ' +
                  DateTimeToStr(ACBrNFe1.SSL.CertDataVenc) +#13+
                 '        Providenciar a RENOVAÇÃO do seu "Certificado Digital".' +#13+
                 '        Após a instação, alterar no "Cadastro da Empresa", o "Número de Série" e "Senha" do novo "Certificado Digital".');
end;

Link para o comentário
Compartilhar em outros sites

  • Administradores

Bom dia.

Você chegou a estudar os demos do componente?

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Moderadores
  • Solution
9 horas atrás, w0000 disse:

     A.SelecionarCertificado;

     //Mover os dados do Certificado para os Label´s
     MoveLabel;

Creio que nesse trecho falta transferir o número de série do certificado selecionado para o objeto ACBrNFe1.

ACBrNFe1.Configuracoes.Certificados.NumeroSerie := A.NumeroSerie;

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link para o comentário
Compartilhar em outros sites

Prezados, agradeço a atenção.

 

Conforme orientado pelo BigWings, acrescentei a linha

A.SelecionarCertificado;
ACBrNFe1.Configuracoes.Certificados.NumeroSerie := A.NumeroSerie;

Ainda estou com um erro: "CarregarCertificadoDeNumeroSerie" não suportado em: TDFeSSLCryptClass.

Por favor, será que alguém poderia me dar um help?

Desde já agradeço. Obrigado.

Link para o comentário
Compartilhar em outros sites

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