40sig - PGP-Signieren und Verifizieren!

Hier die allgemeine Anleitung plus Installation für 40tude Dialog!

*Achtung bei der Nutzung interner Server (Classic-Hamster, HPG, nplex etc.)*!
»Wird 40tude-Dialog zusammen mit einem internen Server eingesetzt, arbeitet 40sig nur dann korrekt, wenn sichergestellt ist, daß keine Serverscripte, oder sonstigen Zusatztools (CopyIf, CopyFups, Korrnews o.ä.) die zu signierenden / verfizierenden Postings nach bzw. vor den jeweiligen 40sig-Routinen noch innerhalb der Header oder Bodies verändern, was unweigerlich zu kaputten Signaturen im Ausgang und demzufolge zu schlechten Verifizierungen im Eingang führen würde.«
Abschließend noch eine perönliche Anmerkung!
Dieser Text wurde aus den Postings zum Thread "PGP-Signierung" in der newsgroup de.comm.software.40tude-dialog zusammengetragen und durch Folgethreads im April/Mai 2008 aktualisiert. Er erhebt keinen Anspruch auf Vollständigkeit und Funktionalität.            Reinhard Irmer














1.    Download! 40sig.exe ist eine Entwicklung von Robert W. Kuhn auf Grundlage vom Codevon Jürgen Haible und hier zusammen mit dem Source-Code zu haben.

A. Inhalt: 40sig.exe, 40sig.ini, 40sig.log 40d_sig.zip

B. Inhalt: Source-Code für die 40sig.exe! src.zip

2.  Die Installation! Entpacke einfach die 40sig.zip (= 40sig.exe, 40sig.ini und 40sig.log) in das Programmverzeichnis von Dialog ( z.B c:\Programme\40tude Dialog\ ). Passe in der 40sig.ini die Pfade deiner GnuPG-Installation an  und ändere ggf. die Zeile PGP2=0 auf PGP2=1.


Hinweis Mit PGP2=1 wird so signiert, dass man zu älteren pgp-Versionen kompatibel ist. Dafür darf der Schlüssel aber nicht zu lang sein (<=1024)und muss RSA benutzen. Empfehlung: auf 0 lassen. 40sig schreibt alle Aktivitaeten in die Logdatei namens 40sig.log, die im gleichen Verzeichnis wie die 40sig.exe liegt. Dadurch lassen sich Fehlfunktionen leicht bestimmen.



3.  40sig - PGP-Sig-Verifizierung für 40tude Dialog! Generelle Voraussetzung ist, dass ein funktionierendes GnuPG auf dem Rechner vorhanden ist.

http://www.gnupg.org/

http://home.arcor.de/rose-indorf/

http://www.gpg4win.org/index-de.html


Mit 40sig.exe kann man die Korrektheit der Signatur (PGP/Inline oder PGP/MIME) eines Postings verifizieren und auch selbst eine PGP-Signierung (nur PGP/MIME) durchführen. Es ist fuer die Verwendung mit 40tude Dialog entwickelt worden, kann aber auch mit jedem anderen Tool bzw. direkt auf der Kommandozeile verwendet werden. 40sigschreibt bei signierten Postings das Ergebnis der Ueberpruefung in einen Header names "X-PGP-Check". Diesen kann man sich dann in 40d anzeigen lassen (Rechtsklick auf die Headerleiste, Angezeigte Header bearbeiten...).


Das Ergebnis der Überprüfung in einen Header names "X-PGP-Check"! 1.) Via Rechtsklick auf die Headerleiste, Angezeigte, Header bearbeiten, sollte dann wie im Screen unten, im roten Rahmen zu sehen den Header X-PGP-Check: Good Sig anzeigen!

Der Header X-PGP-Check!

border=0

Jetzt muss Dialog nur noch dazu ueberredet werden, 40sig zu verwenden. Dazu trage folgendes Script für OnBeforeSavingMessage ( Dialog: Einstellungen -> Skriptverwaltung -> Scriptverwaltung -> Ereignisskripte -> OnBeforeSavingMessage ) ein und passe FILENAME und EXEFILE an, speichern kompilieren - fertig.


3.1.  OnBeforeSavingMessage!

Und hier geht's zum Skript, das in's OnBeforeSavingMessage..... OnBeforeSavingMessage ....kopiert, kompiliert und ausgeführt wird! Wenn dort schon includes installiert sind, dann bitte weiter unten weiterlesen.



3.2.  ....in Kombination mit bereits vorhandenen Include-files! Und für alle diejenigen die dieses Skript zusammen mit schon vorhandenen Include-Files im OBSaving nutzen moechten, nachfolgend ein Beispiel von Karl-Heinz Rademacher, wie das aussehen koennte. Als zusätzliche, dritte Variante zur Verifizierung von 40sig, hat Thomas Barghahn das GPGverify_include am 10.05.08 in der dcs4-d erstmals vorgestellt! Zu welcher Betriebsumgebung (OS) die auf dieser Seite vorgestellten Skripte und Include-files geeignet sind, wird auf den jeweiligen Seiten extra hingewiesen!


Hier geht's zum integriertem Skript des OnBeforeSavingMessage!  integriertes OnBeforeSavingMessage

Hier geht's zum Include-file_Skript des OnBeforeSavingMessage!  GPGverify_include


Achtung Ist ein include vorhanden, daß Header in incomings löscht, so ist sicher zu stellen, dass die Header Subject; Control; Message-ID; Date; From; Sender; Newsgroups; Approved; Followup-To; Supersedes; X-PGP-Sig präsent bleiben.

  

3.3. Manuelle Sig-Verifizierung! Man muss 40sig nur in folgender Form am DOS-prompt aufrufen: 40sig.exe Dateiname also z.B. 40sig.exe artikel.txt. Das Verifizierungsergebnis wird in die erste Zeile von artikel.txt geschrieben (im erwähnten Header names "X-PGP-Check"),unabhängig davon, ob PGP/INLINE oder PGP/MIME signiert wurde. Nachvollzogen kann alles werden durch Blick in das 40sig.log


4.0.  40sig - PGP-Signierung fuer 40tude Dialog! Will man nicht den manuellen Weg über aktuelles Fenster/Zwischenablage der GnuPG-Anwendung (z.B. WinPT) gehen, bietet sich zum Setzen einer PGP-Signatur ein *OnBeforeSendingMessage* an! Voraussetzung zur korrekten Funktionsweise ist, daß der References -Header nicht gefoldet wird. Es sind also alle diesbezüglichen Aktionen vorher zu deaktivieren (z.B. KorrNews: Header II, s.a.Musteranordnung-OBSend unter gpgsign_include).


4.1.  Schlüsselwort "sign"! Die Signierung wird aufgrund des Schlüsselwortes"sign" (ohne Anführungszeichen) am Anfang der ersten Zeile im Editor des zu signierenden Postings eingeleitet. Das Skript löscht dann diese Zeile und der Rest wird signiert.


4.2.  OnBeforeSendingMessage!


Und hier geht's zum "program OnBeforeSendingMessage" Skript! program OnBeforeSendingMessage


In diesem Skript ist zusätzlich das Trim_TestSubject_include.ds so eingebunden, daß die Trim_TestSubject-Routine den Subject-Header vor dem Signieren durch die gpgsign-Routine auf eventuelle Leerzeichen am Anfang überprüft und gegebenenfalls löscht! Danach darf der Body und die Headerzeilen, die mitsigniert werden, nicht mehr geändert werden (z.B. durch KorrNews). Folgende Header werden - wenn vorhanden - mitsigniert: Subject; Control; Message-ID; Date; From; Sender; Newsgroups; Approved; Followup-To; und Supersedes.



4.3.  ...in Kombination mit bereits vorhandenen Include-files! Und für alle diejenigen die diese Funktionalität zusammen mit schon vorhandenen Include-Files im OBSending integrieren möchten, hat Henrik Bernshausen die Grundlage mit ein include-file geschaffen. Auch hier ist wie unter 4.1 beschrieben die Trim_TestSubject-Routine eingebunden! Das Skript unter dem Namen "gpgsign_include.ds" in "Eigene Skripte" speichern, aber  nicht kompilieren und im OnBeforeSendingMessage oben (oberhalb von "function...") {$I gpgsign_include.ds} und unten als Aufruf " gpgsign ( message, IsEmail );" einfügen. Das OnBeforeSendingMessage nun speichern und kompilieren.


Und hier geht's zum Include-File von Henrik Bernshausen! gpgsign_include


4.4. Manuelle PGP-Signierung (nur PGP/MIME)! Voraussetzung ist, dass es sich bei dem zu signierenden outgoing um eine email/posting incl. aller Header handelt (raw-format), das nach der Signierung nicht mehr weiter verändert wird. Man muss 40sig dann in folgender Form am DOS-prompt aufrufen: 40sig.exe Dateiname UserID also z.B.40sig.exe artikel.msg robert@example.com Es poppt dann ein DOS-Fenster auf, in welchem nach der Passphrase für den Schlüssel gefragt wird. Diese ist einzugeben . Der signierte Artikel wird dann in Dateiname (also im Beispiel in artikel.msg) gespeichert. Nachvollzogen werden kann alles durch ein Blick in das 40sig.log

An dieser Stelle möchte ich mich recht herzlich für die mühevolle Fleißarbeit beim Autor dieses Artikels Reinhard Irmer bedanken, der dieses Projekt je nach Erkenntnisstand. weiterhin beträut. Und hier geht es zu seiner sehr interessanten Homepage!


nach oben

border=0    border=0    border=0

This document maintained by Copyright © Karl-Heinz Rademacher        Contact Raady