Ir para conteúdo
  • Cadastre-se

dev botao

Como mostra o requerente do certificado digital?


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

Recommended Posts

Postado

Prezado colegas da ACBr, boa tarde!

Por favor alguém poderia me dar um help?   

Estou com a seguinte duvida:

Como mostra o requerente do certificado digital?
Exemplo:
Requerente: CN=XX RAZAO SOCIAL LTDA:12345678901234, OU=12345678901234, OU=RFB e-CNPJ A1, OU=Secretaria da Receita Federal do Brasil - RFB, L=Barueri, S=SP, O=ICP-Brasil, C=BR

Por favor alguém poderia me dar um help? Como mostra o requerente do certificado digital, no formato do exemplo acima?
Desde já agradeço. Obrigado.

 

  • Moderadores
  • Solution
Postado
3 minutos atrás, w0000 disse:

Por favor alguém poderia me dar um help? Como mostra o requerente do certificado digital, no formato do exemplo acima?

No programa exemplo do componente ACBrNFe tem exemplo de como obter as informações do certificado.

  • Curtir 2
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado

Prezado BigWings, boa noite!

Desculpe o incomodo, mas nos exemplos achei diversas propriedades, mas não encontrei como mostra o requerente do certificado digital.

Por favor alguém poderia me dar um help?

Como mostra o requerente do certificado digital?
Formato que preciso:
Requerente: CN=XX RAZAO SOCIAL LTDA:12345678901234, OU=12345678901234, OU=RFB e-CNPJ A1, OU=Secretaria da Receita Federal do Brasil - RFB, L=Barueri, S=SP, O=ICP-Brasil, C=BR


Desde já agradeço. Obrigado.

  • Moderadores
Postado
14 minutos atrás, w0000 disse:

Desculpe o incomodo, mas nos exemplos achei diversas propriedades, mas não encontrei como mostra o requerente do certificado digital.

Pela opção "Subject Name" ou "Leitura de X509"

image.png

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

Projeto ACBr

 

 

Postado

Prezado BigWings, boa tarde!

Desculpe o incomodo, fiz exatamente como orientado.

Está apresentando o seguinte erro: "CarregarCertificadoDeNumeroSerie" não suportado em: TDFeSSLCryptClass.

Código fonte:

//Certificado - SubjectName - Mostrar requerente
   Label15.Caption := (ACBrNFe1.SSL.CertSubjectName + sLineBreak + sLineBreak +
                                        'Razão Social: ' + ACBrNFe1.SSL.CertRazaoSocial);
   Edit1.Text      := (ACBrNFe1.SSL.CertSubjectName + sLineBreak + sLineBreak +
                                 'Razão Social: ' + ACBrNFe1.SSL.CertRazaoSocial);

Por favor alguém poderia me dar um help? O que esta´errado no código fonte acima?

Desde já agradeço. Obrigado.

Postado

Prezado Juliomar Marchetti, boa noite!

Obrigado pela atenção. Configurei sim o SSLib.

Veja o código fonte abaixo: (*Em verde a configuração do SSLib e em vermelho onde está com erro)

procedure TFTestaCertificadoDigital.SpeedButton1Click(Sender: TObject);
var
   A: TDFeSSL;
begin
     //Linpa Label´s e Edit
     Label3.Caption  := '';
     Label5.Caption  := '';
     Label7.Caption  := '';
     Label9.Caption  := '';
     Label11.Caption := '';
     Label13.Caption := '';
     Label15.Caption := '';
     Edit1.Text      := '';
     //Configura SSLib
     A               := TDFeSSL.Create;
     A.SSLCryptLib   := cryWinCrypt;
     A.SSLXmlSignLib := xsLibXml2;
     A.SSLType       := LT_TLSv1_2;
     A.SSLDgst       := dgstSHA256;
     {//*Antes de tudo tem que configurar o SSLib (ACBrNFe.Configuracoes.Geral.SSLib para poder usar . preferencia use libWinCrypt}

     //Abre tela para selecionar o Certificado
     A.SelecionarCertificado;
     //Move o número de série selecionado
     ACBrNFe1.Configuracoes.Certificados.NumeroSerie := A.NumeroSerie;
     //Numero de Série do Certificado
     Label3.Caption := ACBrNFe1.Configuracoes.Certificados.NumeroSerie;
     //Razão Social (Normalmente é: Razão Social:CNPJ)
     Label5.Caption := A.CertRazaoSocial;
     //Titular SubjectName
     Label7.Caption := A.CertSubjectName;
     //CNPJ
     Label9.Caption := A.CertCNPJ;
     //Certificadora
     Label11.Caption := A.CertCertificadora;
     //Validade
     Label13.Caption := DateTimeToStr(A.CertDataVenc);
     //Certificado - SubjectName //Mostrar requerente
     Label15.Caption := (ACBrNFe1.SSL.CertSubjectName + sLineBreak + sLineBreak +
                           'Razão Social: ' + ACBrNFe1.SSL.CertRazaoSocial);
     Edit1.Text      := (ACBrNFe1.SSL.CertSubjectName + sLineBreak + sLineBreak +
                           'Razão Social: ' + ACBrNFe1.SSL.CertRazaoSocial);
     try
       ShowMessage ('Certificado Digital carregado com sucesso.');
       //VER VALIDADE DO CERTIFICADO
       if StringToDateTime(Label13.Caption) < date then
          ShowMessage('ERRO: O "Certificado Digital" ESTÁ VENCIDO.' +#13+
                      '      Venceu em: '+ Label13.Caption +#13+
                      '      Favor RENOVAR o seu "Certificado Digital".');
       //AVISO DE VENCIMENTO DO CERTIFICADO COM 30 DIAS ANTES
       if (Date) > (StringToDateTime(Label13.Caption) -30) then
          ShowMessage('ALERTA: O "Certificado Digital" vencerá em: ' +
                      Label13.Caption +#13+
                      '        Providenciar a RENOVAÇÃO do seu "Certificado Digital".' +#13+
                      '        Após a instação do novo Certificado Digital, atualize no sistema BNET".');
     finally
       //
     end;
     A.Free;
end;

Está apresentando o seguinte erro: "CarregarCertificadoDeNumeroSerie" não suportado em: TDFeSSLCryptClass.

Por favor alguém poderia me dar um help? O que está errado no código fonte acima?

Desde já agradeço. Obrigado.

Postado

Prezado Rafael Dia, boa tarde!

Obrigado pela ajuda. deu certo conforme sua orientação.

//Configurar o SSL no componente e não em uma classe a parte
     ACBrNFe1.Configuracoes.Geral.SSLCryptLib       := cryWinCrypt;
     ACBrNFe1.Configuracoes.Geral.SSLXmlSignLib  := xsLibXml2;
     ACBrNFe1.Configuracoes.WebServices.SSLType := LT_TLSv1_2;

Mais uma vez obrigado.

Postado

Prezado colegas da ACBr, boa tarde!

Por favor alguém poderia me dar um help?   

Estou com a seguinte duvida:

Como mostra o requerente do certificado digital?
Exemplo:
Requerente: CN=XX RAZAO SOCIAL LTDA:12345678901234, OU=12345678901234, OU=RFB e-CNPJ A1, OU=Secretaria da Receita Federal do Brasil - RFB, L=Barueri, S=SP, O=ICP-Brasil, C=BR

Por favor alguém poderia me dar um help? Como mostra o requerente do certificado digital, no formato do exemplo acima?
Desde já agradeço. Obrigado.

 

Postado

Prezado Juliomar Marchetti, boa tarde!

Em primeiro ligar, lhe agradeço pela atenção.

Realmente:

No "Subject name"

ShowMessage(ACBrANe1.SSL.CertSubjectName + sLineBreak + sLineBreak +
                             'Razão Social: ' + ACBrANe1.SSL.CertRazaoSocial);

No "Leitura X509"

with ACBrANe1.SSL do
begin
     CarregarCertificadoPublico(MemoDados.Lines.Text);
     MemoResp.Lines.Add(CertIssuerName);
     MemoResp.Lines.Add(CertRazaoSocial);
     MemoResp.Lines.Add(CertCNPJ);
     MemoResp.Lines.Add(CertSubjectName);
     MemoResp.Lines.Add(CertNumeroSerie);

     pgRespostas.ActivePageIndex := 0;
end;

O dados mostrados no "SubjectName" e no "Leitura x509" acima descritos, estão em ordem diversa da que preciso.

Preciso que a ordem seja igual ao que é mostrado no Intente Explorer, no campo requente do certificado digital.

Exemplo:
Requerente: CN=XX RAZAO SOCIAL LTDA:12345678901234, OU=12345678901234, OU=RFB e-CNPJ A1, OU=Secretaria da Receita Federal do Brasil - RFB, L=Barueri, S=SP, O=ICP-Brasil, C=BR

Por favor alguém poderia me dar um help?

Como mostrar em um Edit.text o campo "requerente" do certificado digital, na mesma ordem que é mostrado no Internet Explorer?


Desde já agradeço. Obrigado.

 

  • Moderadores
Postado
1 hora atrás, w0000 disse:

Como mostrar em um Edit.text o campo "requerente" do certificado digital, na mesma ordem que é mostrado no Internet Explorer?

Aparentemente é só pegar o resultado de ACBrNFe1.SSL.CertSubjectName e inverter a ordem.

Por que precisa que seja a mesma ordem mostrada no IE?

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

Projeto ACBr

 

 

  • 2 semanas depois ...
Postado

Prezado colegas da ACBr, boa tarde!

Por favor alguém poderia me dar um help?   

Estou com a seguinte duvida:

Como mostra o requerente do certificado digital na mesma ordem do Internet Explorer?


Código fonte utilizado
Edit1.Text := (sLineBreak +
               sLineBreak +
               A.CertSubjectName +
               A.CertRazaoSocial);


DADOS CAPTURADO NO EDIT1 ACIMA:
===============================
C=BR,
O=ICP-Brasil,
S=SP,
L=Barueri,
OU=Secretaria da Receita Federal do Brasil - RFB,
OU=RFB e-CNPJ A1,
OU=12345678901234,
CN=EMPRESA TESTE LTDA:12345678901234


DADOS QUE PRECISO - EXIBIR NO EDIT1 EXATAMENTE NA ORDEM ABAIXO:
===============================================================
CN = EMPRESA TESTE LTDA:12345678901234
OU = 12345678901234
OU = RFB e-CNPJ A1
OU = Secretaria da Receita Federal do Brasil - RFB
L = Barueri
S = SP
O = ICP-Brasil
C = BR


Por favor alguém poderia me dar um help? Como mostra o requerente do certificado digital na mesma ordem do Internet Explorer?

Preciso que seja nesta ordem, porque infelizmente tenho que interagir com outro sistema, onde a chave é esta ordem que preciso.
Desde já agradeço. Obrigado.

  • Moderadores
Postado

Veja ele respondeu acima e até fez uma pergunta.

Em 25/05/2020 at 16:52, BigWings disse:

Aparentemente é só pegar o resultado de ACBrNFe1.SSL.CertSubjectName e inverter a ordem.

Por que precisa que seja a mesma ordem mostrada no IE?

já fez o que ele sugeriu? jogou em uma sei lá TStringList e depois leu ao contrário mudando a ordem?

  • Curtir 1
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
 

 

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