Wie signiere ich ein PDF in Java digital?

This article was translated from English: Does it need improvement?
Translated
View the article in English

Ein PDF in Java mit IronPDF digital zu signieren ermöglicht es Ihnen, kryptografische Signaturen anzuwenden, die die Authentizität des Dokuments verifizieren und unautorisierte Änderungen erkennen. IronPDF unterstützt PdfSignature zum Anhängen von PFX-zertifikatsbasierten Signaturen an beliebige PDF-Dateien, zum Festlegen sichtbarer Signaturbilder, zum Steuern von PDF-Zertifizierungsstufen mit PdfCertificationLevel und zum Herstellen einer Verbindung zu einem Timestamp-Authority-Server für die langfristige Gültigkeit von Signaturen.

Schnellstart: Digitales Signieren eines PDFs in Java

  1. Installieren Sie IronPDF for Java über Maven oder Gradle
  2. Legen Sie Ihren Lizenzschlüssel mit License.setLicenseKey() fest
  3. Laden Sie die PDF-Datei mit PdfDocument.fromFile()
  4. Erstellen Sie eine PdfSignature mit Ihrer PFX-Zertifikatsdatei und Ihrem Passwort
  5. Fügen Sie die Signatur mit signDigitalSignature() ein
  6. Speichern Sie die signierte PDF-Datei mit saveAs()

```java :title=Schnellstart //:path=/static-assets/ironpdf-java/content-code-examples/how-to/how-to-digitally-sign-pdfs-java-tutorial/quickstart.java import java.io.IOException; import java.nio.file.Path; import com.ironsoftware.IronPdf.License; import com.ironsoftware.ironPdf.PdfDocument; import com.ironsoftware.IronPdf.Signature.PdfSignature;

public class Main { public static void main(String[] args) throws IOException { // Setzen Sie den IronPDF-Lizenzschlüssel License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

    // Laden eines bestehenden PDF-Dokuments
    PdfDocument pdf = PdfDocument.fromFile(Path.of("document.pdf"));

    // Erstellen einer PdfSignature mit einer PFX-Zertifikatsdatei und ihrem Passwort
    PdfSignature signature = new PdfSignature("certificate.pfx", "password123");

    // Signaturmetadaten für Prüfpfade festlegen
    signature.setSigningContact("John Smith");
    signature.setSigningLocation("New York");
    signature.setSigningReason("Dokumentgenehmigung");

    // Digitale Signatur auf das PDF anwenden
    pdf.signDigitalSignature(signature);

    // Unterschriebenes PDF in einer neuen Datei speichern
    pdf.saveAs(Path.of("signed.pdf"));
}

}


Digitale Signaturen geben PDF-Dokumenten eine kryptografische Identität, die an einen privaten Schlüssel und ein Zertifikat gebunden ist. Wenn ein Empfänger ein unterschriebenes PDF in Adobe Acrobat oder einem konformen Viewer öffnet, überprüft die Anwendung, dass die Zertifikatskette auf eine vertrauenswürdige Autorität zurückverfolgbar ist und dass der Dokumentinhalt seit der Unterzeichnung nicht verändert wurde. Diese Kombination aus Authentifizierung und Integrität macht digitale Signaturen unverzichtbar für Verträge, Rechnungen, regulatorische Einreichungen und jedes Dokument, bei dem Manipulationsnachweise wichtig sind.

PDF-Signaturen fallen in zwei Kategorien: Genehmigungssignaturen und Autor (Zertifizierungs-) Signaturen. Eine Genehmigungssignatur zeichnet die Genehmigung eines Unterzeichners zu einem bestimmten Zeitpunkt auf; mehrere Parteien können in Folge Genehmigungssignaturen hinzufügen, ohne frühere zu ungültig zu machen. Eine Zertifizierungssignatur, die mit `certify()` angewendet wird, sperrt das Dokument gemäß einem `PdfCertificationLevel` und kennzeichnet den Unterzeichner als Dokumentautor. Zertifizierungssignaturen müssen die erste Signatur auf einem Dokument sein und kontrollieren, welche Änderungen, wenn überhaupt, nachfolgende Unterzeichner machen dürfen.

IronPDF verarbeitet beide Signaturtypen über eine einheitliche API, die auf `PdfSignature` und `PdfDocument` basiert. Für die Ersteinrichtung, Abhängigkeitskonfiguration und Lizenzschlüsselanweisungen sehen Sie die [Übersicht Erste Schritte](https://ironpdf.com/java/docs/).

<div class="hsg-featured-snippet">
    <h2>Wie signiere ich ein PDF in Java digital?</h2>
    <ol>
        <li><a href="https://ironpdf.com/java/#download-modal">Installieren Sie die IronPDF Java-Bibliothek für digitale Signaturen</a></li>
        <li>Verwenden Sie die <strong>PdfDocument</strong> Klasse, um das PDF zu laden</li>
        <li>Erstellen Sie eine <strong>PdfSignature</strong> mit einer PFX-Zertifikatsdatei und einem Passwort</li>
        <li>Optional setzen Sie ein sichtbares Signaturbild mit <code>setSignatureImage</code></li>
        <li>Wenden Sie die Signatur mit <code>signDigitalSignature</code> an</li>
        <li>Zertifizieren Sie das PDF mit <code>certify</code> und einem <code>PdfCertificationLevel</code></li>
        <li>Speichern Sie das unterschriebene PDF mit <code>saveAs</code></li>
    </ol>
</div>

## Was brauche ich, bevor ich anfange?

Bevor Sie PDFs mit IronPDF signieren, bestätigen Sie die folgenden Voraussetzungen:

- **Java 8 oder höher**: IronPDF erfordert ein JDK der Version 8 oder höher.
- **IronPDF for Java**: Fügen Sie die Abhängigkeit Ihrer Build-Datei hinzu. Finden Sie die neueste Version auf [Maven Central](https://central.sonatype.com/artifact/com.ironsoftware/ironpdf).
- **Ein gültiger Lizenzschlüssel**: Setzen Sie den Schlüssel beim Start der Anwendung mit `License.setLicenseKey()`. Für Einrichtungsdetails besuchen Sie den [Lizenzschlüssel-Leitfaden](https://ironpdf.com/java/get-started/license-keys/).
- **Eine PFX- oder P12-Zertifikatsdatei**: Dies ist ein passwortgeschütztes Archiv, das Ihren privaten Schlüssel und das öffentliche Zertifikat im PKCS#12-Format enthält. Selbstsignierte Zertifikate funktionieren für Entwicklung und Test; für Produktdokumente, die von externen Empfängern vertrauenswürdig sein müssen, verwenden Sie ein von einer anerkannten Zertifizierungsstelle (CA) wie DigiCert, Comodo oder GlobalSign ausgestelltes Zertifikat.

Für die vollständige Abhängigkeits- und Projektkonfiguration lesen Sie die [Übersicht Erste Schritte](https://ironpdf.com/java/docs/).

## Wie wende ich eine digitale Signatur auf ein PDF an?

Der Konstruktor `PdfSignature` benötigt den Dateipfad zu Ihrem PFX-Zertifikat und dessen Passwort. Nach der Erstellung können Sie optional Metadaten durch drei Settermethoden anhängen:

- `setSigningContact(String)`: Name oder E-Mail-Adresse der unterzeichnenden Person
- `setSigningLocation(String)`: der physische oder organisatorische Standort des Unterzeichners
- `setSigningReason(String)`: eine kurze Beschreibung, warum das Dokument signiert wird

Diese Felder erscheinen im Signatur-Eigenschaftsfenster von PDF-Viewern und erstellen einen nützlichen Prüfpfad für Compliance-Zwecke. Rufen Sie `signDigitalSignature(PdfSignature)` auf dem geladenen `PdfDocument` auf, um die kryptografische Signatur einzubetten, und speichern Sie das Ergebnis anschließend mit `saveAs()`.

```java
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/how-to-digitally-sign-pdfs-java-tutorial/apply-signature.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.ironPdf.PdfDocument;
import com.ironsoftware.IronPdf.Signature.PdfSignature;

public class Main {
    public static void main(String[] args) throws IOException {
        // Setzen Sie den IronPDF-Lizenzschlüssel
        License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

        // Load the PDF to sign
        PdfDocument pdf = PdfDocument.fromFile(Path.of("contract.pdf"));

        // Construct the PdfSignature with the certificate path and password
        PdfSignature signature = new PdfSignature("certificate.pfx", "password123");

        // Set metadata that will appear in the signature properties panel
        signature.setSigningContact("Jane Doe");
        signature.setSigningLocation("Austin, TX");
        signature.setSigningReason("Contract Approval");

        // Embed the digital signature in the PDF
        pdf.signDigitalSignature(signature);

        // Save the signed document
        pdf.saveAs(Path.of("contract-signed.pdf"));
    }
}

Nach Abschluss von signDigitalSignature() enthält die PDF-Datei einen kryptografischen Hash des Dokumentinhalts, der mit dem privaten Schlüssel aus der PFX-Datei signiert ist. Jede Änderung an der Datei nach diesem Zeitpunkt macht die Signatur ungültig.

Wie füge ich ein sichtbares Signaturbild zu einem PDF hinzu?

Ein sichtbares Signaturbild platziert eine grafische Darstellung direkt auf der PDF-Seite an der Stelle des Signaturfelds. Dies wird häufig verwendet, um eine gescannte handschriftliche Unterschrift, ein Firmenstempel oder ein Logo anzuzeigen, sodass das Dokument signiert aussieht, wenn es gedruckt oder angesehen wird, nicht nur bei der Inspektion mit dem Signaturfeld eines PDF-Readers.

Um ein sichtbares Bild hinzuzufügen, öffnen Sie die Bilddatei als FileInputStream und übergeben Sie sie an PdfSignature.setSignatureImage(InputStream), bevor Sie signDigitalSignature() aufrufen. Das Bild wird innerhalb des Signaturfelds auf der Seite eingebettet.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/how-to-digitally-sign-pdfs-java-tutorial/visible-signature-image.java
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.ironPdf.PdfDocument;
import com.ironsoftware.IronPdf.Signature.PdfSignature;

public class Main {
    public static void main(String[] args) throws IOException {
        // Setzen Sie den IronPDF-Lizenzschlüssel
        License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

        // Load the PDF document to sign
        PdfDocument pdf = PdfDocument.fromFile(Path.of("agreement.pdf"));

        // Build the PdfSignature from a PFX certificate
        PdfSignature signature = new PdfSignature("certificate.pfx", "password123");

        // Set signing metadata
        signature.setSigningContact("Alice Johnson");
        signature.setSigningLocation("Chicago, IL");
        signature.setSigningReason("Agreement Authorization");

        // Open the signature image file and attach it to the signature
        FileInputStream imageStream = new FileInputStream("signature.png");
        signature.setSignatureImage(imageStream);

        // Apply the digital signature with the visible image to the PDF
        pdf.signDigitalSignature(signature);

        // Save the signed PDF with the visible signature image embedded
        pdf.saveAs(Path.of("agreement-signed.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/how-to-digitally-sign-pdfs-java-tutorial/visible-signature-image.java
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.ironPdf.PdfDocument;
import com.ironsoftware.IronPdf.Signature.PdfSignature;

public class Main {
    public static void main(String[] args) throws IOException {
        // Setzen Sie den IronPDF-Lizenzschlüssel
        License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

        // Load the PDF document to sign
        PdfDocument pdf = PdfDocument.fromFile(Path.of("agreement.pdf"));

        // Build the PdfSignature from a PFX certificate
        PdfSignature signature = new PdfSignature("certificate.pfx", "password123");

        // Set signing metadata
        signature.setSigningContact("Alice Johnson");
        signature.setSigningLocation("Chicago, IL");
        signature.setSigningReason("Agreement Authorization");

        // Open the signature image file and attach it to the signature
        FileInputStream imageStream = new FileInputStream("signature.png");
        signature.setSignatureImage(imageStream);

        // Apply the digital signature with the visible image to the PDF
        pdf.signDigitalSignature(signature);

        // Save the signed PDF with the visible signature image embedded
        pdf.saveAs(Path.of("agreement-signed.pdf"));
    }
}
JAVA

Das Signaturbild ersetzt nicht den kryptografischen Schutz; sowohl der grafische Stempel als auch das zugrunde liegende Zertifikat bleiben Teil des unterschriebenen Ergebnisses. PNG- und JPEG-Formate werden für das Signaturbild unterstützt.

Wie zertifiziere ich ein PDF mit einem bestimmten Berechtigungslevel?

Das Zertifizieren eines PDFs unterscheidet sich vom Hinzufügen einer Genehmigungssignatur. Wenn Sie pdf.certify(PdfSignature, PdfCertificationLevel) aufrufen, signieren Sie das Dokument als dessen Autor und legen fest, welche Arten von Änderungen nachfolgenden Benutzern gestattet sind. Ein zertifiziertes PDF zeigt ein blaues Band oder einen ähnlichen Vertrauensindikator in Adobe Acrobat an, der den Empfängern signalisiert, dass das Dokument von einer verifizierten Quelle stammt.

IronPDF bietet drei Zertifizierungsstufen über die PdfCertificationLevel-Enumeration an:

  • PdfCertificationLevel.NO_CHANGES_ALLOWED: Das Dokument ist nach der Zertifizierung vollständig gesperrt; keine weiteren Änderungen sind erlaubt.
  • PdfCertificationLevel.FORM_FILLING: Empfänger können Formularfelder ausfüllen, aber keine Kommentare, Anmerkungen oder andere Änderungen hinzufügen.
  • PdfCertificationLevel.FORM_FILLING_AND_ANNOTATIONS: Empfänger dürfen Formularfelder ausfüllen und Anmerkungen hinzufügen, strukturelle Änderungen sind jedoch weiterhin untersagt.

Da eine Zertifizierungssignatur die erste Signatur auf einem Dokument sein muss, rufen Sie certify() auf, bevor Sie Genehmigungssignaturen anderer Parteien anbringen.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/how-to-digitally-sign-pdfs-java-tutorial/certify-pdf.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.ironPdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.PdfCertificationLevel;
import com.ironsoftware.IronPdf.Signature.PdfSignature;

public class Main {
    public static void main(String[] args) throws IOException {
        // Setzen Sie den IronPDF-Lizenzschlüssel
        License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

        // Load the PDF that will be certified
        PdfDocument pdf = PdfDocument.fromFile(Path.of("report.pdf"));

        // Create the PdfSignature from the author's certificate
        PdfSignature signature = new PdfSignature("author-certificate.pfx", "password123");

        // Set author metadata for the certification signature
        signature.setSigningContact("Legal Department");
        signature.setSigningLocation("San Francisco, CA");
        signature.setSigningReason("Official Publication");

        // Certify the document with NO_CHANGES_ALLOWED to lock it completely
        // Use FORM_FILLING to allow form field input after certification
        // Use FORM_FILLING_AND_ANNOTATIONS to also permit annotations
        pdf.certify(signature, PdfCertificationLevel.NO_CHANGES_ALLOWED);

        // Save the certified PDF
        pdf.saveAs(Path.of("report-certified.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/how-to-digitally-sign-pdfs-java-tutorial/certify-pdf.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.ironPdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.PdfCertificationLevel;
import com.ironsoftware.IronPdf.Signature.PdfSignature;

public class Main {
    public static void main(String[] args) throws IOException {
        // Setzen Sie den IronPDF-Lizenzschlüssel
        License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

        // Load the PDF that will be certified
        PdfDocument pdf = PdfDocument.fromFile(Path.of("report.pdf"));

        // Create the PdfSignature from the author's certificate
        PdfSignature signature = new PdfSignature("author-certificate.pfx", "password123");

        // Set author metadata for the certification signature
        signature.setSigningContact("Legal Department");
        signature.setSigningLocation("San Francisco, CA");
        signature.setSigningReason("Official Publication");

        // Certify the document with NO_CHANGES_ALLOWED to lock it completely
        // Use FORM_FILLING to allow form field input after certification
        // Use FORM_FILLING_AND_ANNOTATIONS to also permit annotations
        pdf.certify(signature, PdfCertificationLevel.NO_CHANGES_ALLOWED);

        // Save the certified PDF
        pdf.saveAs(Path.of("report-certified.pdf"));
    }
}
JAVA

Sobald das Dokument mit NO_CHANGES_ALLOWED zertifiziert ist, führt jeder Versuch, das PDF zu ändern, zum Bruch der Zertifizierungssignatur, und PDF-Viewer zeigen eine Warnung an. Wählen Sie FORM_FILLING oder FORM_FILLING_AND_ANNOTATIONS, wenn das zertifizierte Dokument von nachgelagerten Empfängern ausgefüllt oder mit Anmerkungen versehen werden muss, ohne die Zertifizierung des Autors ungültig zu machen.

Wie füge ich einer digitalen Signatur einen Zeitstempel hinzu?

Ein Timestamp Authority (TSA)-Server liefert ein kryptografisch unterschriebenes Zeit-Token, das neben der Signatur im PDF eingebettet wird. Dieser Zeitstempel belegt, wann die Signatur angewendet wurde, unabhängig von der lokalen Uhr des Unterzeichners. Die langfristige Gültigkeit hängt von Zeitstempeln ab: auch nach Ablauf eines Signaturzertifikats ermöglicht ein vertrauenswürdiger Zeitstempel den Prüfern zu bestätigen, dass die Signatur erstellt wurde, während das Zertifikat noch gültig war.

Um die Zeitstempelung zu aktivieren, setzen Sie vor dem Signieren zwei Eigenschaften des Objekts PdfSignature:

  • setTimestampHashAlgorithm(PdfHashAlgorithm): gibt den Hash-Algorithmus an, der bei der Berechnung des Zeitstempel-Tokens verwendet werden soll. PdfHashAlgorithm.SHA256 ist die Standardwahl.
  • setTimestampUrl(String): der HTTP- oder HTTPS-Endpunkt des TSA-Servers, der das Zeitstempel-Token ausstellt.

Mehrere TSA-Server stehen kostenlos für Test- und Niedrigvolumen-Produktionsgebrauch zur Verfügung. https://freetsa.org/tsr und http://timestamp.digicert.com sind zwei häufig verwendete Endpunkte.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/how-to-digitally-sign-pdfs-java-tutorial/timestamp-signature.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.ironPdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.PdfHashAlgorithm;
import com.ironsoftware.IronPdf.Signature.PdfSignature;

public class Main {
    public static void main(String[] args) throws IOException {
        // Setzen Sie den IronPDF-Lizenzschlüssel
        License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

        // Load the PDF to sign with a timestamp
        PdfDocument pdf = PdfDocument.fromFile(Path.of("invoice.pdf"));

        // Construct the PdfSignature from the certificate file
        PdfSignature signature = new PdfSignature("certificate.pfx", "password123");

        // Set signature metadata
        signature.setSigningContact("Finance Team");
        signature.setSigningLocation("Seattle, WA");
        signature.setSigningReason("Invoice Authorization");

        // Configure the timestamp: set the hash algorithm and TSA endpoint
        signature.setTimestampHashAlgorithm(PdfHashAlgorithm.SHA256);
        signature.setTimestampUrl("https://freetsa.org/tsr");

        // Apply the digital signature; IronPDF will contact the TSA to obtain
        // and embed a timestamp token alongside the cryptographic signature
        pdf.signDigitalSignature(signature);

        // Save the timestamped, signed PDF
        pdf.saveAs(Path.of("invoice-signed-timestamped.pdf"));
    }
}
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/how-to-digitally-sign-pdfs-java-tutorial/timestamp-signature.java
import java.io.IOException;
import java.nio.file.Path;
import com.ironsoftware.IronPdf.License;
import com.ironsoftware.ironPdf.PdfDocument;
import com.ironsoftware.ironpdf.signature.PdfHashAlgorithm;
import com.ironsoftware.IronPdf.Signature.PdfSignature;

public class Main {
    public static void main(String[] args) throws IOException {
        // Setzen Sie den IronPDF-Lizenzschlüssel
        License.setLicenseKey("IronPDF-MYLICENSE-KEY-1EF01");

        // Load the PDF to sign with a timestamp
        PdfDocument pdf = PdfDocument.fromFile(Path.of("invoice.pdf"));

        // Construct the PdfSignature from the certificate file
        PdfSignature signature = new PdfSignature("certificate.pfx", "password123");

        // Set signature metadata
        signature.setSigningContact("Finance Team");
        signature.setSigningLocation("Seattle, WA");
        signature.setSigningReason("Invoice Authorization");

        // Configure the timestamp: set the hash algorithm and TSA endpoint
        signature.setTimestampHashAlgorithm(PdfHashAlgorithm.SHA256);
        signature.setTimestampUrl("https://freetsa.org/tsr");

        // Apply the digital signature; IronPDF will contact the TSA to obtain
        // and embed a timestamp token alongside the cryptographic signature
        pdf.signDigitalSignature(signature);

        // Save the timestamped, signed PDF
        pdf.saveAs(Path.of("invoice-signed-timestamped.pdf"));
    }
}
JAVA

Wenn der TSA beim Unterzeichnungszeitpunkt nicht erreichbar ist, wird IronPDF eine Ausnahme auslösen; überprüfen Sie den Netzwerkzugriff und die URL des TSA-Endpunkts, bevor Sie in der Produktion bereitstellen. Für Produktionsabläufe mit hohem Volumen, erwägen Sie ein kommerzielles TSA-Abonnement, um Betriebszeit- und Durchsatzgarantien sicherzustellen.

Was sind die nächsten Schritte für das digitale Signieren von PDFs in Java?

Die PdfSignature-Klasse von IronPDF deckt die gesamte Bandbreite der Anforderungen an PDF-Signaturen ab: Genehmigungssignaturen mit Zertifikatsmetadaten, sichtbare grafische Stempel, PDF-Zertifizierung mit Zugriffskontrollstufen und TSA-gestützte Zeitstempel für langfristige Gültigkeit. Um Ihren PDF-Workflow über das Signieren hinaus zu erweitern, erkunden Sie diese verwandten Ressourcen:

Starten Sie Ihre kostenlose Testversion, um digitale Signaturen zu Ihrem Java-PDF-Workflow hinzuzufügen. Um eine Lizenz für den Produktionseinsatz zu erwerben, sehen Sie sich Lizenzierungsoptionen an.

Häufig gestellte Fragen

Wie signiere ich ein PDF in Java mit IronPDF digital?

Laden Sie Ihr PDF mit PdfDocument.fromFile(), erstellen Sie eine PdfSignature unter Verwendung des Pfads zu Ihrer PFX-Zertifikatsdatei und Ihres Passworts, setzen Sie optional Metadaten mit setSigningContact(), setSigningLocation() und setSigningReason(), rufen Sie dann pdf.signDigitalSignature(signature) auf und speichern Sie mit pdf.saveAs().

Was ist der Unterschied zwischen signDigitalSignature() und certify() in IronPDF?

signDigitalSignature() fügt eine Zustimmungssignatur hinzu, die die Zustimmung eines Unterzeichners aufzeichnet. Mehrere Zustimmungssignaturen können in Reihenfolge hinzugefügt werden. certify() fügt eine Autorensignatur hinzu, die zuerst auf das Dokument angewandt werden muss, und legt ein PdfCertificationLevel fest, das kontrolliert, welche Änderungen nachfolgende Unterzeichner vornehmen können.

Wie füge ich ein sichtbares Signaturbild zu einem signierten PDF in Java hinzu?

Öffnen Sie die Bilddatei als FileInputStream und übergeben Sie sie an signature.setSignatureImage(imageStream), bevor Sie signDigitalSignature() aufrufen. Das Bild wird in das Signaturfeld auf der Seite neben der kryptografischen Signatur eingebettet.

Welche PDF-Zertifizierungsstufen unterstützt IronPDF?

IronPDF unterstützt drei Stufen über das PdfCertificationLevel-Enum: NO_CHANGES_ALLOWED sperrt das Dokument vollständig, FORM_FILLING erlaubt nur das Ausfüllen von Formularfeldern, und FORM_FILLING_AND_ANNOTATIONS erlaubt Formularfelder und Anmerkungen, während strukturelle Bearbeitungen verhindert werden.

Wie füge ich einen Zeitstempel zu einer digitalen Signatur in Java hinzu?

Setzen Sie signature.setTimestampHashAlgorithm(PdfHashAlgorithm.SHA256) und signature.setTimestampUrl("https://freetsa.org/tsr") auf der PdfSignature, bevor Sie signDigitalSignature() aufrufen. IronPDF kontaktiert den TSA-Server und bettet das Zeitstempel-Token in das signierte PDF ein.

Welches Zertifikatsdateiformat erfordert IronPDF für die PDF-Signatur?

IronPDF erfordert eine PFX- oder P12-Zertifikatsdatei, die ein PKCS#12-Archiv enthalten, den privaten Schlüssel und das öffentliche Zertifikat. Selbstsignierte Zertifikate funktionieren für die Entwicklung; für den Produktionseinsatz erwerben Sie ein Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle wie DigiCert oder GlobalSign.

Was sind die Voraussetzungen, um PDFs mit IronPDF in Java digital zu signieren?

Sie benötigen Java 8 oder höher, die IronPDF-Abhängigkeit hinzugefügt über Maven oder Gradle, einen gültigen Lizenzschlüssel, der mit License.setLicenseKey() gesetzt wurde, und eine PFX- oder P12-Zertifikatsdatei mit ihrem Passwort.

Darrius Serrant
Full-Stack-Software-Ingenieur (WebOps)

Darrius Serrant hat einen Bachelor-Abschluss in Informatik von der University of Miami und arbeitet als Full-Stack-WebOps-Marketing-Ingenieur bei Iron Software. Seit seiner Jugend vom Programmieren angezogen, sah er die Informatik als sowohl mysteriös als auch zugänglich, was es zum perfekten Medium für Kreativität und Problemlösung ...

Weiterlesen
Bereit anzufangen?
Version: 2026.5 just released
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis?
Führen Sie eine Probe aus Sehen Sie zu, wie Ihr HTML-Code in eine PDF-Datei umgewandelt wird.