How to Sign the PDF using Aspose Java (Using certificate)

We are trying to protect the PDF using certificate. Could you please share the sample code for PDF certificate sign using Aspose Java

@ashok.mahendran

To sign a PDF using a certificate in Aspose.PDF for Java, you can utilize the PdfFileSignature class along with the PKCS1 or PKCS7 classes for the digital signature. Below is a sample code that demonstrates how to add a digital signature to a PDF file using a certificate.

Sample Code

package com.aspose.pdf.examples.SecurityAndSignatures;

import com.aspose.pdf.Document;
import com.aspose.pdf.PKCS1;
import com.aspose.pdf.facades.PdfFileSignature;

import java.awt.Rectangle;

public class SignPDFWithCertificate {
    public static void main(String[] args) {
        // Path to the directory containing your files
        String myDir = "PathToDir/";
        
        // Create a PdfFileSignature object and bind the input PDF file
        PdfFileSignature pdfSign = new PdfFileSignature();
        pdfSign.bindPdf(myDir + "input.pdf");
        
        // Create a rectangle for the signature location
        Rectangle rect = new Rectangle(100, 100, 200, 100);
        
        // Create a PKCS1 signature object using the certificate and password
        PKCS1 signature = new PKCS1(myDir + "certificate.pfx", "your_password");
        
        // Sign the PDF file
        pdfSign.sign(1, "Signature Reason", "Contact", "Location", true, rect, signature);
        
        // Save the output PDF file
        pdfSign.save(myDir + "output_signed.pdf");
    }
}

Explanation

  1. Binding the PDF: The bindPdf method is used to load the PDF file that you want to sign.
  2. Signature Appearance: You can specify the appearance of the signature using an image if needed.
  3. Creating the Signature: The PKCS1 class is used to create a signature object from your certificate file and its password.
  4. Signing the Document: The sign method is called with parameters such as the page number, reason for signing, contact information, location, and the rectangle defining where the signature will appear.
  5. Saving the Signed PDF: Finally, the signed PDF is saved to a new file.

For more detailed information, you can refer to the official documentation on digitally signing PDFs with Aspose.PDF for Java here.

Note

Make sure to replace "PathToDir/", "input.pdf", "certificate.pfx", and "your_password" with the actual paths and credentials relevant to your files.

Sources:
[1]: How to digitally sign PDF|Aspose.PDF for Java - Aspose Documentation