Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

  • Consultores
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

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
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 !!

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
  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
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 !!

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

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...