From sven.schultschik at siemens.com Mon Apr 19 11:27:17 2021 From: sven.schultschik at siemens.com (Schultschik, Sven) Date: Mon, 19 Apr 2021 09:27:17 +0000 Subject: =?iso-8859-1?Q?AW:_GnuPG_Made_Easy_nicht_interactive_variante_passowrtsch?= =?iso-8859-1?Q?utz_f=FCr_archiv?= In-Reply-To: References: Message-ID: Hallo zusammen, die erste Nachricht hängt wahrscheinlich noch in der Schleife, da ich noch kein Mitglied war. ( Siehe unten) Ich arbeite das erste Mal mit der GPGMe lib. Ich bin mittlerweile so weit, dass ich eine CallBack Methode implementieren muss, damit ich mein eigenes Passworteingabeinterface erstellen kann. Aber irgendwas muss ich übersehen, da er einfach nicht den CallBack aufruft. Wie folgt hab ich es mir aus der Doku herausgelesen. gpgme_ctx_t ctx; gpgme_error_t err; gpgme_data_t in, out; gpgme_encrypt_result_t result; init_gpgme(); err = gpgme_new(&ctx); fail_if_err(err); gpgme_set_armor(ctx, 1); FILE *instream; instream = fopen(infile.c_str(), "r"); err = gpgme_data_new_from_stream(&in, instream); fail_if_err(err); FILE *outstream; outstream = fopen((infile.append(".gpg")).c_str(), "w"); err = gpgme_data_new_from_stream(&out, outstream); fail_if_err(err); err = gpgme_set_keylist_mode(ctx, GPGME_PINENTRY_MODE_LOOPBACK); fail_if_err(err); gpgme_set_passphrase_cb(ctx, passphrase_cb, NULL); err = gpgme_op_encrypt(ctx, NULL, GPGME_ENCRYPT_SYMMETRIC, in, out); Hab ich einen part in der Doku übersehen? Ich stehe zur Zeit auf dem Schlauch warum da immer noch die Passwortabfrage auf der CLI kommt und der CallBack nicht aufgerufen wird. Zur vervollständigung: gpgme_error_t passphrase_cb(void *hook, const char *uid_hint, const char *passphrase_info, int prev_was_bad, int fd) { const char *pw = _pw.c_str(); int ret = gpgme_io_writen(fd, pw, strlen(pw)); if (ret < 0) { gpgme_error_from_errno(errno); } return 0; } Danke -----Ursprüngliche Nachricht----- Von: Schultschik, Sven (DI PA DCP R&D 2) Gesendet: Donnerstag, 15. April 2021 15:27 An: 'gnupg-de at gnupg.org' Betreff: GnuPG Made Easy nicht interactive variante passowrtschutz für archiv Hallo zusammen, ich bin der neue und hab mich zu der Liste subscribed, aber zur Sicherheit wäre ein CC nett, falls es nicht geklappt hat. Ich will in meiner Applikation ein Archiv mit einem Passwort per gpgme verschlüsseln. Die Implementierung mit gpgme_op_encrypt habe ich und funktioniert auch, wenn ich das ganze per CLI aufrufe und im interaktiven cli prompt das Passwort eingebe. Jetzt sollte das Passwort aber auf einer eigenen Oberfläche eingegeben werden und nicht per interaktiver cli. Jetzt dachte ich ich kann gpgme_op_encrypt_ext benutzten und als recpstring dann das Passwort in der Form "--\nPasswort12345" angeben. Allerdings kommt immer noch die interaktive Passworteingabe hoch. Daher die Frage, wie bekomme ich es hin, dass ich das Passwort direkt dem gpgme_op_encrypt_ext übergeben kann? Danke Vg Sven From sven.schultschik at siemens.com Mon Apr 19 12:09:32 2021 From: sven.schultschik at siemens.com (Schultschik, Sven) Date: Mon, 19 Apr 2021 10:09:32 +0000 Subject: =?iso-8859-1?Q?AW:_GnuPG_Made_Easy_nicht_interactive_variante_passowrtsch?= =?iso-8859-1?Q?utz_f=FCr_archiv?= In-Reply-To: References: Message-ID: Ok Tippfehler gefunden warum er nicht in den Callback gegangen ist. set_keylist_mode muss set_pinentry_mode heißen. Der CB wird zwar jetzt aufgerufen und beendet, aber aus gpgme_op_encrypt kommt er nicht mehr raus, die ausführung bleibt stehen, als ob sie auf irgendwas warten würde. err = gpgme_set_pinentry_mode(ctx, GPGME_PINENTRY_MODE_LOOPBACK); gpgme_ctx_t ctx; gpgme_error_t err; gpgme_data_t in, out; gpgme_encrypt_result_t result; init_gpgme(); err = gpgme_new(&ctx); fail_if_err(err); gpgme_set_armor(ctx, 1); FILE *instream; instream = fopen(infile.c_str(), "r"); err = gpgme_data_new_from_stream(&in, instream); fail_if_err(err); FILE *outstream; outstream = fopen((infile.append(".gpg")).c_str(), "w"); err = gpgme_data_new_from_stream(&out, outstream); fail_if_err(err); err = gpgme_set_pinentry_mode(ctx, GPGME_PINENTRY_MODE_LOOPBACK); fail_if_err(err); gpgme_set_passphrase_cb(ctx, passphrase_cb, NULL); err = gpgme_op_encrypt(ctx, NULL, GPGME_ENCRYPT_SYMMETRIC, in, out); Danke From bernhard at intevation.de Mon Apr 19 12:59:51 2021 From: bernhard at intevation.de (Bernhard Reiter) Date: Mon, 19 Apr 2021 12:59:51 +0200 Subject: AW: GnuPG Made Easy nicht interactive variante passowrtschutz =?iso-8859-1?q?f=FCr?= archiv In-Reply-To: References: Message-ID: <202104191259.58624.bernhard@intevation.de> Hallo Sven, willkommen! Am Montag 19 April 2021 12:09:32 schrieb Schultschik, Sven: > Ok Tippfehler gefunden warum er nicht in den Callback gegangen ist. > set_keylist_mode muss set_pinentry_mode heißen. Kannst Du noch schreiben, auf welcher Plattform Du arbeitest und mit welchen Versionen der Bibliotheken? (Es sieht nach C aus. :), lauffähige Beispiele lassen sich am besten analyiseren.) > Der CB wird zwar jetzt aufgerufen und beendet, aber aus gpgme_op_encrypt > kommt er nicht mehr raus, die ausführung bleibt stehen, als ob sie auf > irgendwas warten würde. Allgemein: Was manchmal hilft ist GPGME_DEBUG (siehe Dokumentation) und mehr Infos zu erhalten. Die Beispielsprogramme und die Testsuite können manchmal hilfreich sein. Gruß, Bernhard -- www.intevation.de/~bernhard   +49 541 33 508 3-3 Intevation GmbH, Osnabrück, DE; Amtsgericht Osnabrück, HRB 18998 Geschäftsführer Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner -------------- nächster Teil -------------- Ein Dateianhang mit Binärdaten wurde abgetrennt... Dateiname : signature.asc Dateityp : application/pgp-signature Dateigröße : 659 bytes Beschreibung: This is a digitally signed message part. URL : From sven.schultschik at siemens.com Mon Apr 19 15:45:17 2021 From: sven.schultschik at siemens.com (Schultschik, Sven) Date: Mon, 19 Apr 2021 13:45:17 +0000 Subject: =?iso-8859-1?Q?AW:_AW:_GnuPG_Made_Easy_nicht_interactive_variante_passowr?= =?iso-8859-1?Q?tschutz_f=FCr_archiv?= In-Reply-To: <202104191259.58624.bernhard@intevation.de> References: <202104191259.58624.bernhard@intevation.de> Message-ID: Hi Bernhard, danke. Ich bin auf einem Embedded Linux auf Debian 10 Basis gebaut mit ISAR gpg (GnuPG) 2.2.12 libgcrypt 1.8.4 libgpgme11 (1.12.0-6) Das Tool ist C++ und wird g++ cross compiliert. Ein lauffähiges Beispiel müsste ich extra Bauen, da in meinem Code fixe Pfade drin sind, die dann natürlich nicht passen. GPGME_DEBUG schau ich mir mal an. Eine Frage wäre, ob meine Abfolge in der Theorie funktionieren sollte. Oder ob eine Methode, weiterer Callback oder Wait Funktion fehlt? Mit freundlichen Grüßen Sven Angelo Schultschik Siemens AG Digital Industries Process Automation DI PA DCP R&D 2 Östliche Rheinbrückenstr. 50 76187 Karlsruhe, Deutschland Tel.: +49 721 6672-0128 Mobil: +49 162 4975705 mailto:sven.schultschik at siemens.com www.siemens.com Siemens Aktiengesellschaft: Vorsitzender des Aufsichtsrats: Jim Hagemann Snabe; Vorstand: Roland Busch, Vorsitzender; Klaus Helmrich, Cedrik Neike, Matthias Rebellius, Ralf P. Thomas, Judith Wiese; Sitz der Gesellschaft: Berlin und München, Deutschland; Registergericht: Berlin-Charlottenburg, HRB 12300, München, HRB 6684; WEEE-Reg.-Nr. DE 23691322 -----Ursprüngliche Nachricht----- Von: Bernhard Reiter Gesendet: Montag, 19. April 2021 13:00 An: gnupg-de at gnupg.org Cc: Schultschik, Sven (DI PA DCP R&D 2) Betreff: Re: AW: GnuPG Made Easy nicht interactive variante passowrtschutz für archiv Hallo Sven, willkommen! Am Montag 19 April 2021 12:09:32 schrieb Schultschik, Sven: > Ok Tippfehler gefunden warum er nicht in den Callback gegangen ist. > set_keylist_mode muss set_pinentry_mode heißen. Kannst Du noch schreiben, auf welcher Plattform Du arbeitest und mit welchen Versionen der Bibliotheken? (Es sieht nach C aus. :), lauffähige Beispiele lassen sich am besten analyiseren.) > Der CB wird zwar jetzt aufgerufen und beendet, aber aus > gpgme_op_encrypt kommt er nicht mehr raus, die ausführung bleibt > stehen, als ob sie auf irgendwas warten würde. Allgemein: Was manchmal hilft ist GPGME_DEBUG (siehe Dokumentation) und mehr Infos zu erhalten. Die Beispielsprogramme und die Testsuite können manchmal hilfreich sein. Gruß, Bernhard -- www.intevation.de/~bernhard   +49 541 33 508 3-3 Intevation GmbH, Osnabrück, DE; Amtsgericht Osnabrück, HRB 18998 Geschäftsführer Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner -------------- nächster Teil -------------- Ein Dateianhang mit Binärdaten wurde abgetrennt... Dateiname : smime.p7s Dateityp : application/pkcs7-signature Dateigröße : 14944 bytes Beschreibung: nicht verfügbar URL : From bernhard at intevation.de Mon Apr 19 16:06:56 2021 From: bernhard at intevation.de (Bernhard Reiter) Date: Mon, 19 Apr 2021 16:06:56 +0200 Subject: AW: GnuPG Made Easy nicht interactive variante passowrtschutz =?utf-8?q?f=C3=BCr?= archiv In-Reply-To: References: <202104191259.58624.bernhard@intevation.de> Message-ID: <202104191607.04526.bernhard@intevation.de> Hi Sven, Am Montag 19 April 2021 15:45:17 schrieb Schultschik, Sven: > Eine Frage wäre, ob meine Abfolge in der Theorie funktionieren sollte. Oder > ob eine Methode, weiterer Callback oder Wait Funktion fehlt? ohne es selbst auszurprobieren oder Testprogramme anzusehen, weiß ich es nicht auswenig. Noch eine Idee: Du möchtest ja Deine eigene pinentry Methode entwickeln. Funktioniert es denn schon mit einer der bestehenden pinentries? (pinentry curses sollte ja auch per ssh gehen). Gruß, Bernhard -- www.intevation.de/~bernhard   +49 541 33 508 3-3 Intevation GmbH, Osnabrück, DE; Amtsgericht Osnabrück, HRB 18998 Geschäftsführer Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner -------------- nächster Teil -------------- Ein Dateianhang mit Binärdaten wurde abgetrennt... Dateiname : signature.asc Dateityp : application/pgp-signature Dateigröße : 659 bytes Beschreibung: This is a digitally signed message part. URL : From sven.schultschik at siemens.com Mon Apr 19 17:54:30 2021 From: sven.schultschik at siemens.com (Schultschik, Sven) Date: Mon, 19 Apr 2021 15:54:30 +0000 Subject: =?iso-8859-1?Q?AW:_GnuPG_Made_Easy_nicht_interactive_variante_passowrtsch?= =?iso-8859-1?Q?utz_f=FCr_archiv?= In-Reply-To: <202104191607.04526.bernhard@intevation.de> References: <202104191259.58624.bernhard@intevation.de> <202104191607.04526.bernhard@intevation.de> Message-ID: Hi Bernhard, ja die default methode, wenn man sonst nichts angibt außer nur gpgme_op_encrypt ohne callback macht mit der Interaktiven abfrage auf der CLI funktioniert. Er scheint tatsächlich auf irgendwas zu warten. Im Logfile werden immer und immer die gleichen Zeilen wiederholt. GPGME 2021-04-19 14:54:57 <0x1505> gpgme_io_writen: enter: fd=0xb, buffer=0x7f8ae9c058, count=5 GPGME 2021-04-19 14:54:57 <0x1505> _gpgme_io_write: enter: fd=0xb, buffer=0x7f8ae9c058, count=5 GPGME 2021-04-19 14:54:57 <0x1505> _gpgme_io_write: check: 3132333435 12345 GPGME 2021-04-19 14:54:57 <0x1505> _gpgme_io_write: leave: result=5 GPGME 2021-04-19 14:54:57 <0x1505> gpgme_io_writen: leave: result=0 GPGME 2021-04-19 14:54:57 <0x1505> _gpgme_remove_io_cb: call: data=0x557e788c60, setting fd 0xb (item=0x557e788c80) done GPGME 2021-04-19 14:54:57 <0x1505> _gpgme_io_select: enter: fds=0x557e7e46a0, nfds=10, nonblock=0 GPGME 2021-04-19 14:54:57 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select on [ r0x6 r0x8 r0xc ] GPGME 2021-04-19 14:54:58 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select OK [ ] GPGME 2021-04-19 14:54:58 <0x1505> _gpgme_io_select: leave: result=0 GPGME 2021-04-19 14:54:58 <0x1505> _gpgme_io_select: enter: fds=0x557e7e46a0, nfds=10, nonblock=0 GPGME 2021-04-19 14:54:58 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select on [ r0x6 r0x8 r0xc ] GPGME 2021-04-19 14:54:59 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select OK [ ] GPGME 2021-04-19 14:54:59 <0x1505> _gpgme_io_select: leave: result=0 GPGME 2021-04-19 14:54:59 <0x1505> _gpgme_io_select: enter: fds=0x557e7e46a0, nfds=10, nonblock=0 GPGME 2021-04-19 14:54:59 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select on [ r0x6 r0x8 r0xc ] GPGME 2021-04-19 14:55:00 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select OK [ ] GPGME 2021-04-19 14:55:00 <0x1505> _gpgme_io_select: leave: result=0 GPGME 2021-04-19 14:55:00 <0x1505> _gpgme_io_select: enter: fds=0x557e7e46a0, nfds=10, nonblock=0 GPGME 2021-04-19 14:55:00 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select on [ r0x6 r0x8 r0xc ] GPGME 2021-04-19 14:55:01 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select OK [ ] GPGME 2021-04-19 14:55:01 <0x1505> _gpgme_io_select: leave: result=0 GPGME 2021-04-19 14:55:01 <0x1505> _gpgme_io_select: enter: fds=0x557e7e46a0, nfds=10, nonblock=0 GPGME 2021-04-19 14:55:01 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select on [ r0x6 r0x8 r0xc ] GPGME 2021-04-19 14:55:02 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select OK [ ] GPGME 2021-04-19 14:55:02 <0x1505> _gpgme_io_select: leave: result=0 GPGME 2021-04-19 14:55:02 <0x1505> _gpgme_io_select: enter: fds=0x557e7e46a0, nfds=10, nonblock=0 GPGME 2021-04-19 14:55:02 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select on [ r0x6 r0x8 r0xc ] GPGME 2021-04-19 14:55:03 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select OK [ ] GPGME 2021-04-19 14:55:03 <0x1505> _gpgme_io_select: leave: result=0 GPGME 2021-04-19 14:55:03 <0x1505> _gpgme_io_select: enter: fds=0x557e7e46a0, nfds=10, nonblock=0 GPGME 2021-04-19 14:55:03 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select on [ r0x6 r0x8 r0xc ] GPGME 2021-04-19 14:55:04 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select OK [ ] GPGME 2021-04-19 14:55:04 <0x1505> _gpgme_io_select: leave: result=0 GPGME 2021-04-19 14:55:04 <0x1505> _gpgme_io_select: enter: fds=0x557e7e46a0, nfds=10, nonblock=0 GPGME 2021-04-19 14:55:04 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select on [ r0x6 r0x8 r0xc ] GPGME 2021-04-19 14:55:05 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select OK [ ] GPGME 2021-04-19 14:55:05 <0x1505> _gpgme_io_select: leave: result=0 GPGME 2021-04-19 14:55:05 <0x1505> _gpgme_io_select: enter: fds=0x557e7e46a0, nfds=10, nonblock=0 GPGME 2021-04-19 14:55:05 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select on [ r0x6 r0x8 r0xc ] GPGME 2021-04-19 14:55:06 <0x1505> _gpgme_io_select: check: fds=0x000000557e7e46a0, select OK [ ] Vg Sven -------------- nächster Teil -------------- Ein Dateianhang mit Binärdaten wurde abgetrennt... Dateiname : smime.p7s Dateityp : application/pkcs7-signature Dateigröße : 14944 bytes Beschreibung: nicht verfügbar URL : From bernhard at intevation.de Tue Apr 20 09:55:05 2021 From: bernhard at intevation.de (Bernhard Reiter) Date: Tue, 20 Apr 2021 09:55:05 +0200 Subject: AW: GnuPG Made Easy nicht interactive variante passowrtschutz =?utf-8?q?f=C3=BCr?= archiv In-Reply-To: References: <202104191607.04526.bernhard@intevation.de> Message-ID: <202104200955.12315.bernhard@intevation.de> Hi Sven, Am Montag 19 April 2021 17:54:30 schrieb Schultschik, Sven: > Er scheint tatsächlich auf irgendwas zu warten. wenn hier keine gute Antwort kommt, dann frag ruhig mal auf gnupg-users@ auf Englisch, da lesen mehr Leute mit. Ideal als Beispiel ist natürlich Code der ausgeführt werden kann. :) Als Hinweis: Wenn Du/Ihr viel mit GnuPG macht, dann lohnt sich vielleicht auch über einen Entwicklungs-Support-Vertrag von g10code/gnupg.com nachzudenken, dann gibt es für tiefere Fragen mehr Bandbreite für die Antwort und dann ist es leichter möglich mal schnell auch auf internen Code zu schauen. Viele Grüße, Bernhard -- www.intevation.de/~bernhard   +49 541 33 508 3-3 Intevation GmbH, Osnabrück, DE; Amtsgericht Osnabrück, HRB 18998 Geschäftsführer Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner -------------- nächster Teil -------------- Ein Dateianhang mit Binärdaten wurde abgetrennt... Dateiname : signature.asc Dateityp : application/pgp-signature Dateigröße : 659 bytes Beschreibung: This is a digitally signed message part. URL : From sven.schultschik at siemens.com Tue Apr 20 14:42:16 2021 From: sven.schultschik at siemens.com (Schultschik, Sven) Date: Tue, 20 Apr 2021 12:42:16 +0000 Subject: =?iso-8859-1?Q?AW:_GnuPG_Made_Easy_nicht_interactive_variante_passowrtsch?= =?iso-8859-1?Q?utz_f=FCr_archiv?= In-Reply-To: <202104200955.12315.bernhard@intevation.de> References: <202104191607.04526.bernhard@intevation.de> <202104200955.12315.bernhard@intevation.de> Message-ID: Habs gefunden o.O Das \n hatte am Ende der Passphrase gefehlt. Darauf hatte er die ganze Zeit gewartet. Was mich jetzt nur wundert. Wenn ich direkt nach erstellen des archivs ein "gpg archiv.tar.gz.gpg" mache, frägt er gar nicht nach dem Passwort, sondern entschlüsselt es direkt. Muss ich noch einen Passphrasen cache löschen? Vg Sven -------------- nächster Teil -------------- Ein Dateianhang mit Binärdaten wurde abgetrennt... Dateiname : smime.p7s Dateityp : application/pkcs7-signature Dateigröße : 14944 bytes Beschreibung: nicht verfügbar URL : From bernhard at intevation.de Tue Apr 20 16:48:57 2021 From: bernhard at intevation.de (Bernhard Reiter) Date: Tue, 20 Apr 2021 16:48:57 +0200 Subject: GnuPG Made Easy nicht interactive variante passowrtschutz =?UTF-8?B?ZsO8cg==?= archiv In-Reply-To: References: <202104200955.12315.bernhard@intevation.de> Message-ID: <11737746.O9o76ZdvQC@kymo.gruen> Am Dienstag, 20. April 2021, 14:42:16 CEST schrieb Schultschik, Sven: > Habs gefunden o.O Top! > Das \n hatte am Ende der Passphrase gefehlt. Darauf hatte er die ganze Zeit > gewartet. Ja, so ohne Zeilenende... ;-) (Okay, natürlich wären auch andere Beendigungsmöglichkeiten denkbar.) > Was mich jetzt nur wundert. Wenn ich direkt nach erstellen des archivs ein > "gpg archiv.tar.gz.gpg" mache, frägt er gar nicht nach dem Passwort, sondern > entschlüsselt es direkt. > > Muss ich noch einen Passphrasen cache löschen? gpg-agent speichert eine Passphrase in der Voreinstellung 10 Minuten zwischen, kannst Du in der gpg-agent.conf info gpg-agent --index-search=default-cache-ttl Gruß, Bernhard´ -- www.intevation.de/~bernhard +49 541 33 508 3-3 Intevation GmbH, Osnabrück, DE; Amtsgericht Osnabrück, HRB 18998 Geschäftsführer Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner -------------- nächster Teil -------------- Ein Dateianhang mit Binärdaten wurde abgetrennt... Dateiname : signature.asc Dateityp : application/pgp-signature Dateigröße : 659 bytes Beschreibung: This is a digitally signed message part. URL : From sven.schultschik at siemens.com Wed Apr 21 13:41:23 2021 From: sven.schultschik at siemens.com (Schultschik, Sven) Date: Wed, 21 Apr 2021 11:41:23 +0000 Subject: =?iso-8859-1?Q?AW:_GnuPG_Made_Easy_nicht_interactive_variante_passowrtsch?= =?iso-8859-1?Q?utz_f=FCr_archiv?= In-Reply-To: <11737746.O9o76ZdvQC@kymo.gruen> References: <202104200955.12315.bernhard@intevation.de> <11737746.O9o76ZdvQC@kymo.gruen> Message-ID: Danke für die Unterstützung Mit freundlichen Grüßen Sven Angelo Schultschik -------------- nächster Teil -------------- Ein Dateianhang mit Binärdaten wurde abgetrennt... Dateiname : smime.p7s Dateityp : application/pkcs7-signature Dateigröße : 14944 bytes Beschreibung: nicht verfügbar URL : From bernhard at intevation.de Wed Apr 21 15:06:10 2021 From: bernhard at intevation.de (Bernhard Reiter) Date: Wed, 21 Apr 2021 15:06:10 +0200 Subject: AW: GnuPG Made Easy nicht interactive variante passowrtschutz =?utf-8?q?f=C3=BCr?= archiv In-Reply-To: References: <11737746.O9o76ZdvQC@kymo.gruen> Message-ID: <202104211506.11354.bernhard@intevation.de> Am Mittwoch 21 April 2021 13:41:23 schrieb Schultschik, Sven: > Danke für die Unterstützung Gern. Viel Erfolg beim Projekt! Bernhard -------------- nächster Teil -------------- Ein Dateianhang mit Binärdaten wurde abgetrennt... Dateiname : signature.asc Dateityp : application/pgp-signature Dateigröße : 659 bytes Beschreibung: This is a digitally signed message part. URL :