Agregar firma digital o firmar digitalmente PDF en Java

Aspose.PDF for Java admite varios flujos de firma a través de PdfFileSignature.

Firmar un PDF con un objeto de certificado

  1. Cree la fachada PdfFileSignature y vincule el documento PDF de origen.
  2. Cree el objeto PKCS7 de firma y configure las opciones de firma.
  3. Aplique la firma al documento PDF a través de PdfFileSignature.
  4. Guarde el documento PDF actualizado.
public static void signPdfWithCertificateObject(Path inputFile, Path certificateFile, Path outputFile) {
    PdfFileSignature pdfSignature = new PdfFileSignature();
    try {
        pdfSignature.bindPdf(inputFile.toString());
        pdfSignature.sign(1, false, signatureRectangle(), createPkcs7(certificateFile, "Document approval"));
        pdfSignature.save(outputFile.toString());
    } finally {
        pdfSignature.close();
    }
}

Este enfoque construye un objeto PKCS7 de firma primero y luego lo aplica a la página 1.

Firmar un PDF con parámetros básicos de certificado

  1. Cree la fachada PdfFileSignature y vincule el documento PDF de origen.
  2. Configure los parámetros del certificado requeridos por el ejemplo de firma.
  3. Aplique la firma al documento PDF a través de PdfFileSignature.
  4. Guarde el documento PDF actualizado.
public static void signPdfWithBasicParameters(Path inputFile, Path certificateFile, Path outputFile) {
    PdfFileSignature pdfSignature = new PdfFileSignature();
    try {
        pdfSignature.bindPdf(inputFile.toString());
        pdfSignature.setCertificate(certificateFile.toString(), CERTIFICATE_PASSWORD);
        pdfSignature.sign(1, "Document approval", "qa@example.com", "New York, USA", false, signatureRectangle());
        pdfSignature.save(outputFile.toString());
    } finally {
        pdfSignature.close();
    }
}

Certificar un PDF con DocMDP

Utilice una firma de detección y prevención de modificaciones de documentos cuando necesite restricciones a nivel de certificación:

  1. Cree la fachada PdfFileSignature y vincule el documento PDF de origen.
  2. Cree el objeto DocMDPSignature y configure el DocMDPAccessPermissions opciones de firma.
  3. Aplique la firma de certificación y guarde el documento PDF actualizado.
public static void certifyPdfWithMdpSignature(Path inputFile, Path certificateFile, Path outputFile) {
    PdfFileSignature pdfSignature = new PdfFileSignature();
    try {
        pdfSignature.bindPdf(inputFile.toString());
        DocMDPSignature signature = new DocMDPSignature(
                createPkcs7(certificateFile, "Certified for form filling and signing"),
                DocMDPAccessPermissions.FillingInForms);
        pdfSignature.certify(1, "Certified for form filling and signing", "security@example.com",
                "New York, USA", true, signatureRectangle(), signature);
        pdfSignature.save(outputFile.toString());
    } finally {
        pdfSignature.close();
    }
}