Linearisierung, Optimierung, Sicherheit und Digitale Signaturen für PDF

PDFlib PLOP DS (Digital Signature) basiert auf PDFlib PLOP, einem vielseitigen Tool zur Linearisierung, Optimierung, Reparatur, Analyse sowie Ver- und Entschlüsselung von PDF-Dokumenten. PLOP DS bietet darüber hinaus die Möglichkeit, PDF-Dokumente digital zu signieren. Es unterstützt die neuesten Trends und Standards der Signaturtechnik, einschließlich PDF 2.0 gemäß ISO 32000-2 und PAdES-Signaturen (ETSI TS 102 778 und ETSI EN 319 142), welche wiederum auf CAdES (ETSI TS 101 733“>) basieren.

PDFlib PLOP DS

PDFlib PLOP DS

Digitale Signaturen mit PDFlib PLOP DS

PDFlib PLOP DS erstellt PDF-Signaturen, die sich mit Adobe Reader, Acrobat oder einem anderen beliebigen Validierer prüfen lassen, der PDF-Signaturen unterstützt. PLOP DS liest die digitale ID des Unterzeichners (das heißt das Zertifikat plus den zugehörigen privaten Schlüssel) aus dem Arbeitsspeicher, einer Datei oder einem sicheren Hardware-Token, wie z.B. einer Smartcard. Mit dieser ID erstellt PLOP DS eine kryptografische Signatur für das PDF-Dokument. Eine digitale Signatur kann mit Verschlüsselung kombiniert werden.

PDF-Signatureigenschaften

  • Erstellung von Signaturen in bestehenden PDF-Signaturfeldern oder Generierung neuer Felder für die Signatur. Die Signaturen können an einer bestimmten Stelle auf der Seite sichtbar oder unsichtbar sein.
  • Visualisierung der digitalen Signatur durch Import eines Logos, den Scan einer manuellen Unterschrift oder eine andere Darstellung als PDF-Seite.
  • Erstellung zertifizierter PDF-Dokumente (auch Zertifizierungs- oder Autorensignatur genannt), die Dokumentänderungen ermöglichen (zum Beispiel Formularfelder ausfüllen), ohne die Signatur ungültig zu machen.
  • Validierungsinformationen können direkt in der Signatur gemäß ISO 32000-1 gespeichert werden oder in einem Document Security Store (DSS) gemäß ISO 32000-2 und PAdES Teil 4.
  • Signaturen können in einem inkrementellen PDF-Update angewendet werden, um vorhandene Signaturen und Dokumentstruktur zu bewahren oder durch Überschreiben der Dokumentstruktur zur Optimierung und Verschlüsselung.

PDF-Versionen und Standards

PLOP DS unterstützt alle relevanten PDF-Versionen und -Standards:

  • PLOP DS verarbeitet alle PDF-Versionen bis hin zu Acrobat DC, also PDF 1.7 (ISO 32000-1) einschließlich Extension Level 8. Auch für den Standard PDF 2.0 (ISO 32000-2) kann PLOP DS bereits Dokumente verarbeiten.
  • PLOP DS berücksichtigt die Archivierungsstandards PDF/A-1/2/3 (ISO 19005): ist das Eingabedokument PDF/A-konform, so ist dies auch für die Ausgabe gewährleistet. Auch XMP Extension Schemas gemäß PDF/A werden von PLOP DS vollständig unterstützt. Die Fähigkeit, PDF/A-konforme Metadaten in PDF-Dokumente einzufügen, ist ein wichtiger Vorteil von PLOP DS.
  • Entsprechend unterstützt PLOP DS auch die Standardreihe PDF/X-1a/3/4/5 (ISO 15930) für die Druckproduktion, den Standard für variablen und Transaktionsdruck PDF/VT-1/2 (ISO 16612-2) sowie PDF/UA-1 (ISO 14289) für barrierefreie PDF-Dokumente (ISO 16612-2).

Signaturfunktionen

Signaturstandards

  • CMS-basierte PDF-Signaturen gemäß ISO 32000-1
  • Signaturen für Langzeitvalidierung (Long-Term Validation, LTV) gemäß PDF 2.0 (ISO 32000-2)
  • Unterstützt PAdES (ETSI TS 102 778 Teil 2, 3 und 4, ETSI EN 319 142) und CAdES (ETSI TS 101 733).

Durch die Unterstützung der aktuellen PAdES-Standards ist es möglich, mit PLOP DS qualifizierte elektronische Signaturen gemäß eIDAS-Verordnung zu erstellen. Diese Signaturen werden in allen EU-Ländern akzeptiert.

PAdES-Signaturstufen

  • Einfache Signatur (Stufe B-B)
  • Signatur mit Zeit (Stufe B-T)
  • Signatur mit Material für die Langzeitvalidierung (Stufe B-LT)
  • Signatur mit Langzeitverfügbarkeit und Integrität von Validierungsmaterial (Stufe B-LTA)
  • Einfache elektronische Signatur (BES) und explizit Richtlinien-basierte elektronische Signatur (EPES) gemäß PAdES Teil 3

Zeitstempel

  • Anfordern eines Zeitstempels von einer vertrauenswürdigen Zeitquelle (Timestamp Authority, TSA) gemäß RFC 3161 RFC 5816 und ETSI EN 319 422 sowie Einbetten in die Signatur. Die Daten der TSA können aus AATL-Zertifikaten entnommen werden, um Zeitstempel ohne weitere Konfiguration zu erstellen.
  • Erstellen von Dokument-Zeitstempeln gemäß ISO 32000-2 und PAdES Teil 4. Ein Zeitstempel auf Dokumentebene garantiert den Zustand des Dokuments auch ohne personenbasierte Signatur.
  • Unterstützung für den Parameter policy des Zeitstempel-Protokolls sowie alle gebräuchlichen Hashfunktionen für Zeitstempel.

Kryptografische Details der Signatur

  • Signaturen gemäß den RSA- und DSA-Verfahren sowie Elliptic Curve Digital Signature Algorithm (ECDSA) basierend auf Kryptografie mit elliptischen Kurven. Die vom NIST empfohlenen elliptischen Kurven werden ebenso unterstützt wie Brainpool-Kurven.
  • Starke Signaturen und Hashfunktionen.
  • Einbindung der vollständigen Zertifikatskette in die erzeugten Signaturen: Das bedeutet, dass Signaturen mit Zertifikaten einer CA (Certificate Authority) auf der (Adobe Approved Trust List (AATL) oder European Union Trust List (EUTL) in Acrobat und Adobe Reader ohne weitere Konfiguration auf Client-Seite validiert werden können.
  • Einbindung von OCSP-Antworten (Online Certificate Status Protocol gemäß RFC 2560 und RFC 6960) und Zertifikatsperrlisten (Certificate Revocation Lists, CRL gemäß RFC 3280) als Sperrinformation für die Langzeitvalidierung (Long-Term Validation, LTV).

Signatur-Engines

PLOP DS unterstützt verschiedene kryptografische Engines, also Komponenten zur Generierung digitaler Signaturen:

  • Die integrierte Engine implementiert die erforderlichen kryptografischen Funktionen direkt in PLOP DS ohne externe Abhängigkeiten. Die integrierte Engine unterstützt Software-basierte digitale IDs in den verbreiteten Zertifikat-Formaten PKCS#12 und PFX.
  • PLOP DS kann kryptografische Tokens über die PKCS#11-Schnittstelle verbinden. Zur Signaturerstellung können daher auch digitale IDs auf Smartcards, USB-Sticks und anderen sicheren Geräten genutzt werden, einschließlich Geräten mit integrierter Tastatur zur sicheren PIN-Eingabe.
  • Die PKCS#11-Schnittstelle kann auch zum Signieren mit einem Hardware-Security-Modul (HSM) verwendet werden. HSMs bieten sichere Schlüsselspeicher und genügend Leistung für hochvolumige Signaturanwendungen. PLOP DS verwendet PKCS#11-Sessions, um die Leistung bei Massensignaturen mit HSMs zu maximieren. Unser »Thales e-Security PDFlib PLOP DS Integration Guide« dokumentiert die Verwendung von PLOP DS mit Produkten von Thales e-Security HSM.
  • Unter Windows kann PLOP DS das Microsoft Cryptographic API (MS CAPI) als kryptografische Engine verwenden und damit die kryptografische Infrastruktur von Windows nutzen. Digitale IDs aus dem Zertifikatspeicher von Windows können zur Signaturerstellung genutzt werden. Dabei lassen sich sowohl Software-basierte digitale IDs als auch sichere Hardware-Tokens einsetzen. Beachten Sie, dass für die MSCAPI-Engine nicht alle Signaturfunktionen, wie zum Beispiel LTV, verfügbar sind.
  • Alternativ kann eine vom Benutzer bereitgestellte Krypto-Engine verwendet werden, um sicherzustellen, dass alle Verschlüsselungsoperationen (Hashing und Signieren) in einer speziellen Krypto-Bibliothek durchgeführt werden. Für die Anbindung eines solchen externen Verschlüsselungsmoduls benötigt man einen speziellen PLOP-Build, der auf Anfrage erhältlich ist.

Betrieb

PLOP DS als Bibliothek oder Kommandozeilen-Tool?

PLOP DS wird als Software-Bibliothek (Komponente) für verschiedene Entwicklungsumgebungen sowie als Kommandozeilen-Tool für Batch-Prozesse ausgeliefert. Die Bibliothek und das Kommandozeilen-Tool bieten den gleichen Funktionsumfang, eignen sich aber für unterschiedliche Einsatzbereiche.

Die PLOP DS-Software-Bibliothek eignet sich zur Integration in Desktop- oder Server-Anwendungen. Programmierbeispiele für alle unterstützten Sprachbindungen sind im PLOP DS-Paket enthalten. Da PLOP DS PDF-Dokumente von Datei oder direkt aus dem Speicher einlesen kann, ist die Kombination mit anderen Produkten einfach realisierbar. So können Sie mit PDFlib und PLOP DS zum Beispiel PDF-Rechnungen erstellen und signieren, bevor sie an den Kunden gesendet werden.

Das PLOP DS-Kommandozeilen-Tool eignet sich zur Batch-Verarbeitung von PDF-Dokumenten. Es erfordert keine Programmierung, sondern kann über leistungsfähige Kommandozeilen-Optionen gesteuert und damit in komplexe Arbeitsabläufe integriert werden. Sie können das PLOP-DS-Kommandozeilen-Tool auch in Umgebungen verwenden, die von der PLOP-DS-Bibliothek nicht unterstützt werden.

Unterstützte Entwicklungsumgebungen

PDFlib PLOP DS läuft überall – auf praktisch allen Computersystemen. Wir bieten 32- und 64-Bit-Pakete an und unterstützen alle gängigen Varianten von Windows, OS X/macOS, Linux und Unix sowie IBM zSeries Mainframe-Systeme. Varianten für iOS und Android sind ebenfalls erhältlich.

Der Kern von PLOP DS ist in C programmiert und auf Schnelligkeit und geringen Overhead optimiert. Über ein einfaches API (Application Programming Interface) lässt sich die PLOP DS-Funktionalität in zahlreichen Programmiersprachen nutzen:

  • COM für VB, ASP usw.
  • C und C++
  • Java, einschließlich Servlets und Java Application Server
  • .NET für C#, VB.NET, ASP.NET usw.
  • Objective-C
  • Perl
  • PHP
  • Python
  • Ruby