Ajouter une signature numérique ou signer numériquement un PDF en Java

Aspose.PDF for Java prend en charge plusieurs flux de signature via PdfFileSignature.

Signer un PDF avec un objet de certificat

  1. Créez la façade PdfFileSignature et liez le document PDF source.
  2. Créez l’objet de signature PKCS7 et configurez les options de signature.
  3. Appliquez la signature au document PDF via PdfFileSignature.
  4. Enregistrez le document PDF mis à jour.
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();
    }
}

Cette approche crée d’abord un objet de signature PKCS7, puis l’applique à la page 1.

Signer un PDF avec les paramètres de certificat de base

  1. Créez la façade PdfFileSignature et liez le document PDF source.
  2. Configurez les paramètres de certificat requis par l’exemple de signature.
  3. Appliquez la signature au document PDF via PdfFileSignature.
  4. Enregistrez le document PDF mis à jour.
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();
    }
}

Certifier un PDF avec DocMDP

Utilisez une signature de détection et de prévention des modifications de documents lorsque vous avez besoin de restrictions au niveau de la certification :

  1. Créez la façade PdfFileSignature et liez le document PDF source.
  2. Créez l’objet DocMDPSignature et configurez les options de signature DocMDPAccessPermissions.
  3. Appliquez la signature de certification et enregistrez le document PDF mis à jour.
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();
    }
}