PDFSign – .NET Signatur Komponente inkl. C# Beispielprojekt für PDF, PDF/A und ZUGFeRD

PDFSign dient dazu PDF Dokumente mit einem X.509 Zertifikat zu signieren. Neben der Einzelsignatur lassen sich auch größere Mengen an Dokumenten zeitsparend im Stapel signieren. Da das Signieren auch garantiert dass ein Dokument nachträglich nicht verändert wurde muss das Signieren immer der letzte Schritt der Dokumentenerstellung sein. Eine nachträgliche Veränderung würde die Signatur ungültig machen.

   

PDFSign Funktionen:

  • PKI Kompatibilität: PDFSign ist vollkommen PKI neutral und arbeitet mit PKI Komponenten von beliebigen Anbietern – das betrifft CAs, Zertifikate, CRLs, SmartCards, etc. Der Zugriff und die Verwendung der Zertifikate und der damit verbundenen privaten Schlüssel kann über SmartCards, USB Token oder PFX Dateien erfolgen. Auch wird eine Signatur Verarbeitung über Hardware Security Module (HSM) unterstützt, sofern diese über eine MS-CAPI oder PKCS#11 Schnittstelle verfügen.
  • PDF/A oder ZUGFeRD Dokumente bleiben valide: PDFSign stellt sicher dass die PDF/A bzw. ZUGFeRD Konformität auch beim Aufbringen der (sichtbaren) Signatur erhalten bleibt.

  • Rechnungs-Signaturen: Durch die PDF/A und ZUGFeRD Kompatibilität der über PDFSign erzeugten Signaturen können sowohl Einzelne (interaktiv) als auch größere Mengen (Stapelverarbeitung) an Rechnungen digital signiert werden. Eine EU Richtlinie besagt dass Rechnungen die elektronisch versandt werden von allen Mitgliedstaaten zu akzeptieren sind falls die Authentizität (Ursprung) und Integrität (Unverändertheit) sichergestellt werden kann.
  • PAdES Standard: PDFSign ist mit dem PAdES Teil 2 sowie PAdES-LTV (Langzeit Validierung) Standard kompatibel. Dabei wird die Widerruf Information der Zertifikate mit eingebettet (PAdES-LTV).
  • Langzeit Validierung: Mit PDFSign kann ein Dokument für die Langzeit Validierung signiert und mit einem Zeitstempel versehen werden. PDFSign unterstützt erweiterte digitale Signaturen welche eingebettete RFC 3161 konforme sichere Zeitstempel enthalten. Solche Zertifikate können auch nach Ablauf der Gültigkeit und nach dem Widerruf des Zertifikats verifiziert werden.
  • CAdES-T (Zeitstempel) UnterstützungCMS Advanced Electronic Signature (CAdES) – CAdES-T (Timestamp), fügt vertrauenswürdige Zeitstempel zum Schutz vor Abstreitbarkeit ein. Signieren und Verifizieren von sehr großen CAdES signierten Dateien (100 MB und mehr).  Ein Zeitstempel hilft eindeutig festzustellen ob ein Dokument nach der Signatur nicht mehr verändert wurde. Wie Signaturen sind Zeitstempel leichter zu verifizieren falls diese mit einem Zertifikat einer vertrauenswürdigen Zeitstempel Instanz verbunden sind.

  • SHA256, SHA512 Algorithmus und RSA2048: PDFSign unterstützt auch den SHA256 und den SHA512 Hash-Algorithmus (bekannt als SHA2) als auch RSA2048 sowie auch längere Schlüssel.
  • Verschlüsselung von PDF Dokumenten

  • PDF Dokumenten Bestätigung: Über diese elektronische Bestätigung kann angegeben werden dass der Dokumenteninhalt überprüft und freigegeben wurde.
  • Signatur Darstellung konfigurierbar: PDFSign bietet alle Möglichkeiten die visuelle Darstellung der sichtbar aufgebrachten Signatur zu konfigurieren. Neben einer Vielzahl an Parametern können die Position als auch die Seiten – Erste, Letzte, Alle – festgelegt werden.

PDFSign – X.509 Zertifikats Generator:

X.509 Zertifikate bilden die Basis einer Public-Key Infrastruktur (PKI). Diese sind elektronische Legitimationen, ausgestellt von einer Zertifizierungs-Stelle (CA) und verbunden mit einem Schlüsselpaar bestehend aus einem privaten und öffentlichen Schlüssel.

Digitale Zertifikate werden typischerweise von einer vertrauten und zertifizierten Institution (CA) ausgegeben welche die Identität garantieren. Diese werden sowohl auf sicherer Hardware wie SmartCard´s bzw. USB-Token oder aber auch als Software-Zertifikate ausgeliefert.  Mit PDFSign ist es auch möglich selbst signierte Zertifikate zu erzeugen. Diese können genau so verwendet werden wie offizielle Zertifikate verfügen jedoch über keine Zertifizierung und Sicherstellung. Damit signierte Dokumente sind technisch gesehen gleichwertig könnten von Dritten aber eventuell als nicht vertrauensvoll und zuverlässig abgelehnt werden.

Funktionen – Zertifikats Generator:

  • Selbst-Signierter Zertifikate,  Root- oder User-Zertifikate können erstellt und entweder im Microsoft Zertifikatsspeicher abgelegt oder als PFX Datei erzeugt werden.
  • SHA 256, SHA 512, RSA 2048, RSA 4096 Algorithmen und Schlüssellängen können verwendet werden.
  • Schlüssel Verwendung und Erweiterte Schlüssel Verwendung kann einfach konfiguriert werden.
  • X.509 Zertifikate und deren Eigenschaften können angezeigt werden.

PDFSign .NET Komponente: Die PDFSign .NET Komponente kann für die Entwicklung von Windows Server und Desktop Anwendungen verwendet werden.

  • Visual Studio 2005 – 2012
  • Visual Studio 2013
  • Visual Studio 2015

Programmiersprachen: 

  • C#,
  • VB.NET,
  • ASP.NET,
  • Visual C++,
  • Windows PowerShell.

Unterstützte Betriebssysteme:

Windows7 oder höher, inklusive Windows Server 2012/2016 und Windows 10. PDFSign .NET Komponente erfordert .NET Framework 3.5 oder höher.

Download – Ausführbare PDFSign 30 Tage Test- und Demoanwendung inkl. C# Projekt im SourceCode >>>

DownloadPDFSign – X.509 Zertifikats Generator – Standalone Version >>>

PDFAttex – .NET / COM Komponente um ZUGFeRD-XML und andere Anhänge aus einer PDF zu extrahieren

PDF, PDF/A-3 sowie das ZUGFeRD Format ermöglichen es ein PDF Dokument als Container zu verwenden um beliebige Dateien in das PDF einzubetten. Der Empfänger benötigt eine Möglichkeit um die eingebetteten Dateien zu extrahieren. Das kann interaktiv z.b. über den Adobe Reader erfolgen. Will man jedoch diesen Vorgang automatisieren benötigt man eine entsprechende Software-Komponente die in eine Anwendung eingebunden werden kann um die Anhänge auszulesen und zu speichern.

Für das ZUGFeRD Format gibt es ein kostenloses Commandline Tool – ExtractZUGFeRD-XML sowie jetzt mit PDFAttex auch eine .NET / COM Komponente. Diese ist als Erweiterung jetzt im eDocPrintPro SDK  enthalten.

PDFAttex Funktionen:

  • .NET / COM Komponente
  • C# Beispiel/Test-Anwendung mit Source-Code
  • Auslesen wie viele Anhänge in der PDF enthalten sind
  • Auslesen und Speichern einzelner oder aller Anhänge (Name, Erweiterung) aus einer PDF, PDF/A-3 oder ZUGFeRD Datei
  • Auslesen mit welchem PDF/A Level die Datei erzeugt wurde – PDF/A-1b, 2b, 3b

PDFAttex als 32bit COM Komponente:

VisualBasic6 (VB6) benötigt z.B. eine 32bit Komponente. Standardmäßig kann VB nicht mit .NET Komponenten umgehen die für eine gemischte – 32/64bit Umgebung erstellt wurden. Deswegen stellen wir dafür eine eigene 32bit Variante der DLL zur Verfügung. Diese DLL muss um angesprochen werden zu können zuerst mit der 32bit RegAsm.exe von .NET 2.0 registriert werden. Dafür sollte das folgende  Kommando über eine CMD Datei als Administrator ausgeführt werden: “C:\Users\Admin\Desktop\VB Sample\RegAsm.exe” “C:\Users\Admin\Desktop\VB Sample\PDFAttex.dll” /codebase. Danach steht in VB die Komponente in der Liste der vorhandenen Referenzen zur Verfügung und kann verwendet werden.

PDFAttex ist Teil des eDocPrintPro SDK´s. und erfordert die .NET Runtime Version 2.0.