Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Moderadores
Postado
On 6/13/2024 at 3:19 PM, DanrleiNascimento said:

Boa tarde

Estou procurando como fazer o processo de Assinatura de PDF com certificado instalado no Windows, não com o arquivo pfx. Em Delphi ou C++

Alguém teria algum caminho?

 

postei no outro local onde tu já postou.

lembre-se de ler as regras. se postar em um local aguarde até ser respondido.

https://www.projetoacbr.com.br/forum/topic/56147-assinatura-de-pdf/#comment-505424

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 (editado)

Fiz com a SecureBlackbox, em C++ Builder RAD Studio, deu certo.

assinarPDF(String ArquivoPDF, TElX509Certificate *Certificado)

    TElPDFDocument *pdfDocument = new TElPDFDocument(NULL);
    TElPDFPublicKeySecurityHandler *pdfDocumentSecurity =
        new TElPDFPublicKeySecurityHandler(NULL);
    TMemoryStream *TMS = new TMemoryStream();
    TElMemoryCertStorage *certStorage = new TElMemoryCertStorage(NULL);

    try
    {
        TMS->LoadFromFile(ArquivoPDF);
        pdfDocument->Open(TMS);

        int SignatureIndex = pdfDocument->AddSignature();
        TElPDFSignature *signature = pdfDocument->Signatures[SignatureIndex];
        signature->SignatureType = stDocument;
        signature->Handler = pdfDocumentSecurity;
        signature->Reason = "Reason";
        signature->AuthorName = "AuthorName";
        signature->Location = "Brasil";
        signature->SigningTime = Now();

        certStorage->Add(Certificado);
        pdfDocumentSecurity->CertStorage = certStorage;
        pdfDocumentSecurity->SignatureType = pstX509RSASHA1;

        pdfDocument->Close(true);

        TMS->Position = 0;
        TMS->SaveToFile(ArquivoPDF);
    }
    __finally
    {
        delete pdfDocument;
        delete pdfDocumentSecurity;
        delete TMS;
        delete certStorage;
    }

Editado por DanrleiNascimento
  • Curtir 1
  • Este tópico foi criado há 162 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.