Ziel dieses Artikels ist es Ihnen zu zeigen wie Rechnungen im PDF-Format in JTL-Wawi elektronisch unterzeichnet werden und dafür zu sorgen, dass diese Dokumente nicht verändert werden können, ohne ihre digitale Signatur zu verlieren. Damit werden auch die gesetzlichen Vorgaben für den elektronischen Rechnungsversand voll erfüllt.

In JTL-Wawi gibt es zwei Möglichkeiten PDF-Dokumente digital zu signieren:

  • Möglichkeit 1 ist, dass Sie dafür das Signaturportal verwenden.
  • Möglichkeit 2 ist, dass Sie dafür ein externes Tool verwenden.

Möglichkeit 2 hat den Vorteil, dass Sie ihr eigenes Zertifikat verwenden können und die Kosten für das Signaturportal einsparen. Nachteil der Lösung zwei ist, dass Sie für die Sicherheit Ihres Zertifikats selbst verantwortlich sind und eine Menge an Vorarbeiten und Einstellungen vornehmen müssen, bis JTL-Wawi PDF-Rechnungen digital signiert.

Darüber hinaus haben wir in in einem gesonderten Artikel erklärt wie man in der JTL-Wawi Rechnungen automatisch verschicken kann.

Links:

X Certificate and Keymanagement:

https://sourceforge.net/projects/xca/

PortableSigner:

https://sourceforge.net/projects/portablesigner/files/portablesigner/2.0-Release/

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7:

https://www.oracle.com/technetwork/java/javase/downloads/index.html

Installation von X Certificate and Key management

Im ersten Schritt landen Sie sich X Certificate and Key management herunter und installieren die Software auf dem zentralen PC der die JTL-Wawi Datenbank bereitstellt. Starten Sie die setup_xca-0.9.3.exe mit einem Doppelklick.

20131129_Digital_Signierte_PDF_Dokumente_html_6cf93f61

Wählen Sie als Sprache „Deutsch“ aus und klicken Sie auf „OK“.

20131129_Digital_Signierte_PDF_Dokumente_html_ac46b426

Akzeptieren Sie das Lizenzabkommen mit einem Klick auf den Button „Annehmen“.

20131129_Digital_Signierte_PDF_Dokumente_html_ac63462a

Alle Komponenten auswählen und auf „Weiter“ klicken.

20131129_Digital_Signierte_PDF_Dokumente_html_139f8f21

Belassen Sie die Einstellungen für das Zielverzeichnis wie sie sind und klicken Sie auf „Installieren“.

20131129_Digital_Signierte_PDF_Dokumente_html_c43a4dd5

Schließen Sie die Installation mit einem Klick auf „Fertig stellen“ ab.

20131129_Digital_Signierte_PDF_Dokumente_html_96f33d51


Nach der Installation der Software haben wir eine eigene Zertifizierungsstelle eingerichtet mit der wir Zertifikate für unser Unternehmen erstellen können. Im nächsten Schritt müssen wir nun ein sogenanntes Root Zertifikat erstellen, auf dem dann die anderen Zertifikate, die wir ausstellen basieren.Root Zertifikat erstellen

Starten Sie also aus dem Startmenü heraus X Certificate and Key management.

20131129_Digital_Signierte_PDF_Dokumente_html_32862bf9

Als erstes müssen wir eine neue Datenbank für unsere Zertifikate erstellen. Dazu klicken wir im Menü auf „Datei“ und anschließend auf „Neue Datenbank

20131129_Digital_Signierte_PDF_Dokumente_html_783d047d

Vergeben Sie unter Dateiname einen neuen Namen für die Datenbank, z.B. contoso, und klicken Sie auf „Speichern“.

20131129_Digital_Signierte_PDF_Dokumente_html_fbd0d539

Im nächsten Schritt müssen Sie für die Datenbank ein Passwort vergeben. Notieren Sie sich das Passwort und klicken Sie dann auf „OK“.

20131129_Digital_Signierte_PDF_Dokumente_html_6f17531

Sobald Sie die Datenbank erstellt haben, können Sie damit beginnen das Root Zertifikat zu erstellen. Klicken Sie dazu rechts im Fenster auf den Button „Neues Zerifikat“.

20131129_Digital_Signierte_PDF_Dokumente_html_2819a66b

Im Fenster „Erstelle x509 Zertifikat“ wählen Sie unten als Vorlage für das neue Zertifikat (default) CA aus.

20131129_Digital_Signierte_PDF_Dokumente_html_bfd996db

Wechseln Sie zum Register „Inhaber“. Hier müssen wir zuerst einen neuen Schlüssel erstellen. Klicken Sie dazu unten rechts auf den Button „Erstelle einen neuen Schlüssel“.

20131129_Digital_Signierte_PDF_Dokumente_html_cf732c7

Als Namen vergeben Sie hier „rootkey“, als Schlüsseltyp wählen Sie RSA aus und die Schlüssellänge setzen wir auf 2048 bit. Mit einem Klick auf „Erstellen“ wird der neue Schlüssel angelegt.

20131129_Digital_Signierte_PDF_Dokumente_html_37f55581

Die Hinweismeldung über die erfolgreiche Erstellung des privaten RSA Schlüssels können Sie mit „OK“ bestätigen.

20131129_Digital_Signierte_PDF_Dokumente_html_7d721142

Füllen Sie noch die Felder unter Distinguished name wie Links im Screenshot aus. Über Hinzufügen legen Sie noch die Informationen

  • commonName
  • organizationName
  • countryName
  • organizationalUnitName
  • emailAddress

an und füllen diese ebenfalls aus.

20131129_Digital_Signierte_PDF_Dokumente_html_69f1187d

Im Register Erweiterungen legen Sie die Zeitspanne für die Gültigkeit des Zertifikats auf 2 Jahre fest und klicken anschließend auf den Button „übernehmen“.

20131129_Digital_Signierte_PDF_Dokumente_html_726ba241

Im Register Key usage markieren Sie die Einträge Certificate Sign und CRL Sign, die anschließend wie im Screenshot rechts blau hinterlegt sein sollten.

20131129_Digital_Signierte_PDF_Dokumente_html_87ae85c2

Zum Schluss kontrollieren Sie noch, ob im Register Netscape keine Einträge gemacht sind und keine Auswahl getroffen wurde. Wenn alles in Ordnung ist klicken wir auf „OK“.

20131129_Digital_Signierte_PDF_Dokumente_html_4970c696

Zum Abschluss erhalten wir die Meldung, dass das Zertifikat erfolgreich erstellt wurde. Die Meldung bestätigen wir wieder mit einem Klick auf „OK“.

20131129_Digital_Signierte_PDF_Dokumente_html_46dfa778


x.509 Zertifikat für die Signatur erstellen

Nachdem wir unser Root-Zertifikat erstellt haben, können wir das eigentliche Zertifikat für die Signatur der PDF-Rechnungen erstellen. Im Prinzip sind es fast die gleichen Schritte wie bei der Erstellung des Root-Zertifikats.

Klicken wir wieder auf den Button „Neues Zertifikat“.

20131129_Digital_Signierte_PDF_Dokumente_html_574512c0

Als Vorlage wählen wir diesmal „(default) HTTPS_client“ aus.

20131129_Digital_Signierte_PDF_Dokumente_html_219e6141

Wir wechseln in den Reiter „Inhaber“ und klicken unten auf den Button „Erstelle einen neuen Schlüssel“.

20131129_Digital_Signierte_PDF_Dokumente_html_8212efe1

Wir vergeben einen Namen für den neuen Schlüssel, z.B. Client_1, wählen als Schlüsseltyp RSA aus und legen die Schlüssellänge wieder auf 2048 bit fest. Anschließend klicken wir auf den Button „Erstellen“.

20131129_Digital_Signierte_PDF_Dokumente_html_137c8776

Die anschließende Meldung über die erfolgreiche Erstellung des Schlüssels kann mit einem Klick auf den Button „OK“ bestätigt werden.

20131129_Digital_Signierte_PDF_Dokumente_html_1aa2e47c

Jetzt können wir alle Felder unter Distinguished name ausfüllen und über den Button Hinzufügen noch die folgenden Felder anlegen:

  • commonName
  • organizationalUnitName
  • organizationName
  • emailAddress
  • contryName
  • stateOrProvinceName

20131129_Digital_Signierte_PDF_Dokumente_html_197f8f8e

Im Reiter Erweiterungen legen wir die Zeitspanne ebenfalls auf 2 Jahre fest und klicken auf den Button „Übernehmen“.

20131129_Digital_Signierte_PDF_Dokumente_html_ea0f0871

Im Reiter Key Usage wählen wir Digital Signature, Key Enciphement und Data Enciphement aus.

20131129_Digital_Signierte_PDF_Dokumente_html_50f591e8

Im Reiter Netscape kontrollieren wir wieder, dass keine Auswahl getroffen wurde und keine Felder ausgefüllt sind. Anschließend klicken wir auf den Button „OK“.

20131129_Digital_Signierte_PDF_Dokumente_html_a9c9d364

Die Meldung das unser Zertifikat erfolgreich erstellt wurde quittieren wir mit einem Klick auf den Button „OK

20131129_Digital_Signierte_PDF_Dokumente_html_8318bcec


Export des Client-Zertifikats

Für die digitale Signatur der Rechnungen im PDF-Format müssen wir jetzt das Zertifikat Exportieren

Wir markieren das zuletzt erstellte Client Zertifikat und klicken auf den Button „Export“.

20131129_Digital_Signierte_PDF_Dokumente_html_c6f299e5

Im Fenster „Zertifikatexport“ wählen wir zunächst das Exportformat PKCS #12 aus. Danach wählen wir einen Speicherort/Namen für das Zertifikat aus und klicken auf „OK

20131129_Digital_Signierte_PDF_Dokumente_html_8c89da21

Für die Verschlüsselung der PKCS#12 Datei müssen wir noch ein Passwort vergeben. Dieses notieren wir uns wieder und klicken anschließend auf den Button „OK

20131129_Digital_Signierte_PDF_Dokumente_html_93ccd52b

Den Exportvorgang wiederholen wir für das Root-Zertifikat. Beide werden anschließend in den Zertifikatsspeicher der Computers installiert. Also das oberste Zertifikat markieren und auf den Button „Export“ klicken.

20131129_Digital_Signierte_PDF_Dokumente_html_d7110810

Als Exportformat legen wir diesmal DER fest. Speicherort und Namen vergeben, anschließen wieder auf den Button „OK“ klicken.

20131129_Digital_Signierte_PDF_Dokumente_html_47738de9


Installation der Zertifikate

Nicht zwingend erforderlich, aber durchaus empfehlenswert ist es die Zertifikate nach der Erstellung auf dem Client PC auch zu installieren.

Die Installation eines Zertifikats unter Windows ist relativ einfach. Zertifikat markieren, rechte Maustaste klicken und anschließend auf Zertifikat installieren klicken.Das machen wir als erstes mit dem Root-Zertifikat, welches wir vorhin erstellt haben.

20131129_Digital_Signierte_PDF_Dokumente_html_c07443d5

Im Zertifikatimport-Assisten auf „Weiter“ klicken.

20131129_Digital_Signierte_PDF_Dokumente_html_9d12cfc6

Zertifikatsspeicher automatisch auswählen anwählen und auf „Weiter“ klicken.

20131129_Digital_Signierte_PDF_Dokumente_html_fdeb30b8

Zum Schluss nur noch auf Fertig stellen klicken.

20131129_Digital_Signierte_PDF_Dokumente_html_9f1c225c

Die Meldung über den erfolgreichen Importvorgang kann mit einem Klick auf den Button „OK“ bestätigt werden.

20131129_Digital_Signierte_PDF_Dokumente_html_b129ec5c

Im nächsten Schritt installieren wir das Client-Zertifikat. Wir klicken mit der rechten Maustaste unser *.p12 Client-Zertifikat an und klicken auf PFX installieren.

20131129_Digital_Signierte_PDF_Dokumente_html_9436c967

Wir klicken im Zertifikatimport-Assistenten auf „Weiter“.

20131129_Digital_Signierte_PDF_Dokumente_html_206528f0

Nochmal kurz kontrollieren ob es sich um die richtige Datei handelt und dann auf „Weiter“ klicken.

20131129_Digital_Signierte_PDF_Dokumente_html_76fee169

Jetzt müssen wir das Kennwort, welches wir beim Export des Schlüssels vergeben haben, eingeben und auf „Weiter“ klicken.

20131129_Digital_Signierte_PDF_Dokumente_html_2c0811e0

Jetzt noch auf „Fertig stellen“ klicken.

20131129_Digital_Signierte_PDF_Dokumente_html_dd08b9a0

Die Sicherheitswarnung mit einem Klick auf „Ja“ bestätigen.

20131129_Digital_Signierte_PDF_Dokumente_html_f79a122b

Und zum Schluss den Hinweis auf den erfolgreichen Importvorgang mit einem Klick auf den Button „OK“ schließen.

20131129_Digital_Signierte_PDF_Dokumente_html_2cf62280


Installation PortableSigner

Um unsere Rechnungen im PDF-Format mit einer digitalen Signatur auszustatten, benötigen wir ein kleines Hilfprogramm auf allen Rechnern mit dem Namen PortableSigner. Am Anfang des Artikels finden Sie den Download-Link. Dazu müssen noch zwei spezielle Security-Policy-Dateien für die Java Runtime ausgetauscht werden, damit unser Hilfprogramm auch seine Arbeit verrichten kann.

Die beiden Dateien aus dem Java-Download (UnlimitedJCEPolicyJDK7.zip) kopieren Sie in das Verzeichnis Ihrer Java-Installation, z.B.:C:Program Files (x86)Javajre7libsecurity

20131129_Digital_Signierte_PDF_Dokumente_html_ab29cb3f

Anschließend können Sie die Datei PortableSigner-Installer-2.0.38c0573.exe mit einem Doppelklick starten. Wählen Sie als Sprache deutsch aus und klicken Sie auf „OK“.

20131129_Digital_Signierte_PDF_Dokumente_html_ca3348c4

Einfach auf „Weiter“ klicken.

20131129_Digital_Signierte_PDF_Dokumente_html_5b4900af

Installationsinformationen mit einem Klick auf „Weiter“ überspringen.

20131129_Digital_Signierte_PDF_Dokumente_html_95ee599d

Lizenzabkommen annehmen und auf „Weiter“ klicken.

20131129_Digital_Signierte_PDF_Dokumente_html_4b05f4d5

Pfadangaben so belassen wie Sie sind und auf „Weiter“ klicken.

20131129_Digital_Signierte_PDF_Dokumente_html_bca13a54

Die Meldung mit einem Klick auf den Button „OK“ schließen.

20131129_Digital_Signierte_PDF_Dokumente_html_cbc368c5

Installationspaket Basis (es gibt kein anderes…) auswählen und auf „Weiter“ klicken.

20131129_Digital_Signierte_PDF_Dokumente_html_1e4afd4b

Die Einstellungen unter „Verknüpfungen einrichten“ so belassen wie sie sind und auf „Weiter“ klicken.

20131129_Digital_Signierte_PDF_Dokumente_html_94b589df

PortableSigner wird installiert.

20131129_Digital_Signierte_PDF_Dokumente_html_b98567f1

Zum Schluss die Installation mit einem Klick auf den Button „Fertig“ beenden.

20131129_Digital_Signierte_PDF_Dokumente_html_5bb901ea

Windows 7 meldet sich danach mit dem Hinweis das Programm wurde eventuell nicht richtig installiert. Dies können Sie mit einem Klick auf „Das Programm wurde richtig installiert.“ wegklicken.

20131129_Digital_Signierte_PDF_Dokumente_html_35f39caf


Test der digitalen Signatur

Bevor wir JTL-Wawi anpassen und digital signierte Rechnungen verschicken, führen wir einen kleinen Test mit PortableSigner durch, ob unser Zertifikat und die Software auch einwandfrei Arbeiten. Dazu brauchen wir ein unsigniertes PDF, zum Beispiel eine Rechnung aus JTL-Wawi.

Starten wir den PortableSigner aus dem Startmenü heraus.

20131129_Digital_Signierte_PDF_Dokumente_html_b3b91a6f

Als erstes wählen wir mit dem Button „Suchen“ in der Zeile 1 unter PDF signieren die Eingabedatei aus. Anschließend geben wir die Ausgabedatei an,bzw. Übernehmen die Voreinstellung. In Zeile 3 wählen wir das x.509 Zertifikat mit der Datei-Endung p12 aus. In Zeile 4 markieren wir Signaturblock anhängen und in Zeile 5 geben wir das Passwort für das Zertifikat ein. Anschließend können wir mit einem Klick auf den Botton „OK“ das neue PDF mit Signatur erzeugen.

20131129_Digital_Signierte_PDF_Dokumente_html_dbe6139b

Wenn alles richtig eingerichtet ist, halten wir am Ende in Zeile 8 als Ergebnis in grün: „Dokument signiert“.

20131129_Digital_Signierte_PDF_Dokumente_html_aefbdb0b

Wenn wir das neue Dokument im Adobe PDF-Reader öffnen, ist am Ende auf einer neuen Seite die Signatur zu sehen.

20131129_Digital_Signierte_PDF_Dokumente_html_fd150be8


JTL-Wawi Rechnungen automatisch verschicken mittels Script oder via Workflow

Bis jetzt haben wir eine funktionierende eigene Zertifizierungsstelle und die Möglichkeit PDF-Dokumente mit einem Zertifikat digital zu signieren. Bei vielen Rechnungen am Tag, die per Mail versendet werden müssen, ist die im Test gezeigte Vorgehensweise ziemlich ineffektiv. Darum schreiben wir uns eine klein Batch-Datei basierend auf der Vorgabe von JTL-Software (https://wiki.jtl-software.de/index.php?title=Kategorie:JTL-Wawi:Workarounds). Die Dokumentation dazu ist leider etwas dürftig. Ich habe einen Eintrag im Forum und etwas Spielerei benötigt um das Rätsel zu lösen.

Als erstes bauen wir uns eine Batchdatei mit dem Editor, bzw. Notepad und fügen folgenden Inhalt ein:

java -jar C:Program Files (x86)PortableSignerPortableSigner.jar
-n -t %1 -o %1_ -s <Pfad>Client.p12 -p <Kennwort>
copy %1_ %1
del %1_

Die Platzhalter <Pfad> und <Kennwort> ersetzen wir mit dem Pfad zu unserem Zertifikat im Netzwerk oder auf der lokalen Festplatte und unter Kennwort geben wir das Kennwort für unser Zertifikat ein.

20131129_Digital_Signierte_PDF_Dokumente_html_b46d4b02

Diese Datei speichern wir dann mit dem Namen Sign.bat ab. Ich habe hier eine Netzwerkfreigabe auf meinem Test-Server verwendet.

20131129_Digital_Signierte_PDF_Dokumente_html_49656df1

Wir wechseln jetzt in JTL-Wawi und rufen im Menü Einstellungen die Firmen/Maileinstellungen auf.

20131129_Digital_Signierte_PDF_Dokumente_html_f87ec50bMarkieren die entsprechende Firma und wechseln in den Reiter E-Mail-Einstellungen. Hier klicken wir auf den Button „Signatureinstellungen“.

20131129_Digital_Signierte_PDF_Dokumente_html_88eb47cf

In den Einstellungen für die E-Mail-Signatur wechseln wir in den Reiter Externer Befehl und markieren „Bearbeitung /Signierung durch externen Befehl aktivieren“. Anschließend geben wir den Pfad zur Sign.bat ein oder suchen die Datei mit einem Klick auf den Button mit den 3 Punkten […].

Nicht vergessen das Feld Dateiname mit dem Drücken der Tabulator-Taste zu verlassen, da ansonsten die Änderungen nicht übernommen werden!

Wenn unten das grüne Kästchen mit dem Hacken erscheint ist alles in Ordnung und wir können das Fenster mit einem Klick auf „Schließen“ verlassen. Die Firmen/Maileinstellungen können ebenfalls mit einem Klick auf „OK“ geschlossen werden.

20131129_Digital_Signierte_PDF_Dokumente_html_a2eb1fbb

Jetzt müssen wir noch die Vorlagenverwaltung, was leider nur hier steht. Hier müssen wir unsere Rechnungsvorlage in der Baumstruktur suchen, markieren und rechts in den Register Mailen wechseln. Hier wählen wir dann unter Signatur externer Befehl aus und schließen das Fenster mit einem Klick auf den Button „OK“.

An dieser Stelle könne wir auch noch eine Empfänger für eine Kopie der Nachricht unter Blindkopie (BCC) hinterlegen wie z.B. rechnungsausgang@contoso.local

20131129_Digital_Signierte_PDF_Dokumente_html_3551e07c

  • 5/5
  • 2 ratings
2 ratingsX
Very bad! Bad Hmmm Oke Good!
0% 0% 0% 0% 100%

Haben Sie Fragen oder brauchen ein individuelles Angebot? Zögern Sie nicht, uns zu kontaktieren.


    eBakery benötigt die Kontaktinformationen, die Sie uns zur Verfügung stellen, um Sie bezüglich unserer Produkte und Dienstleistungen zu kontaktieren. Sie können sich jederzeit von diesen Benachrichtigungen abmelden. Informationen zum Abbestellen sowie unsere Datenschutzpraktiken und unsere Verpflichtung zum Schutz Ihrer Privatsphäre finden Sie in unseren Datenschutzbestimmungen.*.

    Related Posts
    Showing 3 comments
    • Oliver

      PotableSigner Installation schlägt auf dem Standardpfad fehl, da keine Ordner nicht beschrieben werden kann. W10.

      • Avatar-Foto
        eBakery

        Vielen Dank für diesen Hinweis. Wir werden das testen und versuchen eine Lösung zu finden. Sollten Sie eher eine finden, kommentieren Sie diese bitte 🙂 Wenn wir eine haben gibt’s ein Text-Update!

    • Marcus

      Hallo, vielen Dank, für diese Beschreibung.

      Alles was bei mir anders lief, war, dass ich die JCE8 verwendet habe. Der Ablauf ging wunderbar auf Win10(Win7 wollte nicht).

      Ich verwende JTL 1.3.12.0 und stelle nach dem einbinden Ihrer Sign.Bat fest, dass der export und Versand etwas länger dauert. Demzufolge tut sich etwas. Alldings werden keine Signaturen(Unterschriften) in den PDF-Dokummenten angezeigt.
      Was benötigen Sie, um mir eventuell zu helfen?!

      Mit freundlichen Grüßen
      Marcus

    Leave a Comment

    JTL2DATEV JTL Ameise

    Hat dir der Artikel gefallen?

    Dann melde dich doch zu unserem Newsletter an!

    Neben unseren Blog Themen informieren wir dich darin regelmäßig zu neuen Features und Tutorials