ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Ajuda com Assinador PDF A1

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Marc-br
Aprendiz
Aprendiz


Registrado: Terça-Feira, 3 de Julho de 2007
Mensagens: 141
Localização: Franca-SP

MensagemEnviada: Qui Out 26, 2023 4:27 pm    Assunto: Ajuda com Assinador PDF A1 Responder com Citação

Boa tarde a todos

Estou com problemas com assinatura digital de PDFs.

Eu tenho um certificado A1. É um arquivo PFX.
Eu importei esse arquivo e o certificado esta instalado na minha maquina.

Pelo Delphi, eu utilizei o componente Gnostice PDFToolKit versão 5.0.0.860

try
gtPDFDocument1 := TgtPDFDocument.Create(Nil);
gtPDFDocument1.LoadFromFile('a.pdf');
gtPDFDocument1.AddSignature(AnsiString('certificadoA1.pfx'),
AnsiString('senha_certificado'),
StrToDateTime('26/10/2023'),
AnsiString('razão'),
AnsiString('localização'),
AnsiString('informação do contato'),
strtoint(1), //numero da pagina
AnsiString('Nome da assinatura')); //FieldName
gtPDFDocument1.SaveToFile('b.pdf');
except
on E: Exception do
begin

WriteLn('Erro: ' + E.Message);
Application.Terminate;
end;
end;
//Free resources
gtPDFDocument1.Reset;

//Destroy document object
FreeAndNil(gtPDFDocument1);


Porem, quando eu tento validar o PDF gerado (b.pdf) no site
https://verificador.iti.gov.br/

Da erro de assinatura invalida, hash incorreta.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Marc-br
Aprendiz
Aprendiz


Registrado: Terça-Feira, 3 de Julho de 2007
Mensagens: 141
Localização: Franca-SP

MensagemEnviada: Qui Out 26, 2023 4:32 pm    Assunto: Responder com Citação

Eu baixei o componente DevExpress VCL 22.2.3

Eu refiz o assinador do delphi utilizando este componente.

procedure TForm1.Button1Click(Sender: TObject);
var
ADocument: TdxPDFDocument;
ACertificate: TdxX509Certificate;
ADataPath: string;
begin
ADocument := TdxPDFDocument.Create; // Creates a PDF document container
ADocument.LoadFromFile('a.pdf'); // Loads a source document
// Specifies document metadata
ADocument.Information.Application := 'Assinador A1 DevExpress';
ADocument.Information.Author := 'Nome do Autor';
ADocument.Information.Keywords := 'VCL,Digital Signature,DevExpress';
ADocument.Information.Producer := 'Nome do Produtor';

try
// Loads an X.509 certificate
ACertificate := TdxX509Certificate.Create('certificado.pfx', 'senha_certificado');
// Checks if it is possible to use the loaded X.509 certificate to generate digital signatures
if not dxX509IsUsableForDigitalSignature(ACertificate) then
begin
ACertificate.Free;
ADocument.Free;
exit;
end;

// The X.509 certificate used to create the digital signature
ADocument.SignatureOptions.Signature.Certificate := ACertificate;
// The signer
ADocument.SignatureOptions.Signature.ContactInfo := 'telefone 123456789';
// The signer's location
ADocument.SignatureOptions.Signature.Location := 'Localização';
// The reason for the digital signature
ADocument.SignatureOptions.Signature.Reason := 'Razão';

// Enables the digital signature
ADocument.SignatureOptions.Enabled := True;



// Saves the signed document to a different file
ADocument.SaveToFile('b.pdf', True);
finally
ADocument.Free; // Releases the document container to free up reserved memory
ACertificate.Free; // Releases the loaded certificate
end;
showmessage('fim');
end;

O resultado é a mesmissima coisa do assinador que eu fiz usando o Gnostice PDFToolKit, quando eu tento validar o PDF gerado (b.pdf) no site
https://verificador.iti.gov.br/

Da erro de assinatura invalida, hash incorreta.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB