Hallo, ich versuche mich gerade mit perl und GnuPG (ich muss einigermassen sensible Daten automatisiert erzeugen und dann an mehrere Empfänger übertragen). Prinzipiell klappt das auch, aber: Ich benutze GnuPG.pm (use GnuPG). Das ganz ist hier so bereits installiert - ich bin kein Admin hier. Das verschlüsseln geht gemäss Doku mittels: $gpg->encrypt( plaintext => $Infile, output => $gpgfile, recipient => $recpt, armot => 1 ); Weiss jemand, wie ich hier _mehrere_ Empfänger angeben kann? Mit der Kommandozeile kann man ja z.B. durch "gpg ... --recipient $rcpt1 --recipient $rcpt2 $file" eine Datei für mehrere (hier:2) Empfänger verschlüsseln. Wie geht das aus perl? Ich möchte ungerne um mein perl Programm noch ein Shell skript drum herum bauen. Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Moin moin, Am Freitag, 17. Juli 2009 12:50 schrieb Kyek, Andreas, VF-DE:
$gpg->encrypt( plaintext => $Infile, output => $gpgfile, recipient => $recpt, armot => 1 );
Weiss jemand, wie ich hier _mehrere_ Empfänger angeben kann? Mit der Kommandozeile kann man ja z.B. durch "gpg ... --recipient $rcpt1 --recipient $rcpt2 $file" eine Datei für mehrere (hier:2) Empfänger verschlüsseln.
Leider weiss ich das nicht zu 100%, aber eventuell kannst du mehrere Empfänger mit Komma (oder so) in die Variable schreiben... Versuch macht klug:-() HTH Andre -- Reclaimer, spare that tree! Take not a single bit! It used to point to me, Now I'm protecting it. It was the reader's CONS That made it, paired by dot; Now, GC, for the nonce, Thou shalt reclaim it not. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andre Heine wrote:
Am Freitag, 17. Juli 2009 12:50 schrieb Kyek, Andreas, VF-DE:
$gpg->encrypt( plaintext => $Infile, output => $gpgfile, recipient => $recpt, armot => 1 );
Weiss jemand, wie ich hier _mehrere_ Empfänger angeben kann? Mit der Kommandozeile kann man ja z.B. durch "gpg ... --recipient $rcpt1 --recipient $rcpt2 $file" eine Datei für mehrere (hier:2) Empfänger verschlüsseln.
Leider weiss ich das nicht zu 100%, aber eventuell kannst du mehrere Empfänger mit Komma (oder so) in die Variable schreiben...
Versuch macht klug:-()
OK, hätte ich dazu schreiben können: Das geht (natürlich) nicht. Wenn man in das GnuPG.pm reinschaut, das bastelt er die Argumente für GnuPG hier mit push @options, "--recipient" => $args{recipient}; Also wird an gpg nur einmal --recipient übergeben. Und das klappt dann IMO nur mit einem Empfänger. Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Freitag, 17. Juli 2009 14:31 schrieb Kyek, Andreas, VF-DE:
Leider weiss ich das nicht zu 100%, aber eventuell kannst du mehrere
[...]
Empfänger mit Komma (oder so) in die Variable schreiben...
Versuch macht klug:-()
OK, hätte ich dazu schreiben können: Das geht (natürlich) nicht.
Ok, hast Du also schon versucht...
Wenn man in das GnuPG.pm reinschaut, das bastelt er die Argumente für GnuPG hier mit push @options, "--recipient" => $args{recipient};
Also wird an gpg nur einmal --recipient übergeben. Und das klappt dann IMO nur mit einem Empfänger.
Na ja, in KMail kann man auch in einer Zeile zwei Adressen angeben... Daher meine Idee... Auf search.cpan.org steht zu recipient, dass dieser auch als Key (intern) benutzt wird... Vielleicht kommst Du ohne Schleife in Deinem Perl-Skript nicht aus... Sorry... Andre -- A hypothetical paradox: What would happen in a battle between an Enterprise security team, who always get killed soon after appearing, and a squad of Imperial Stormtroopers, who can't hit the broad side of a planet? -- Tom Galloway -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Fre, 17 Jul 2009, Kyek, Andreas, VF-DE schrieb:
Wenn man in das GnuPG.pm reinschaut, das bastelt er die Argumente für GnuPG hier mit push @options, "--recipient" => $args{recipient};
Und auch mit Tricks bekommt man da leider nicht mehr rein. Mach's dir einfach und ruf gpg selber auf (so wie's GnuPG machen würde) ('strace -f -eprocess perl dein_script.pl' ist hilfreich ;) Ha, hab's: ==== use GnuPG; my $gpg = new GnuPG(); my @options = qw( --recipient foo --recipient bar --armor ); $gpg->options(\@options); $gpg->{input} = "input.txt"; $gpg->{output} = "input.txt.gpg"; $gpg->command("encrypt"); $gpg->args([]); $gpg->run_gnupg(); $gpg->end_gnupg(); ==== Die Fehlerbehandlung, wenn gpg was zu meckern hat fehlt aber. HTH, -dnh -- Keep your fights clean and your sex dirty. -- Kevin Bacon on keeping a successful marriage -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
David Haller wrote:
Am Fre, 17 Jul 2009, Kyek, Andreas, VF-DE schrieb:
Wenn man in das GnuPG.pm reinschaut, das bastelt er die Argumente für GnuPG hier mit push @options, "--recipient" => $args{recipient};
Und auch mit Tricks bekommt man da leider nicht mehr rein. Mach's dir einfach und ruf gpg selber auf (so wie's GnuPG machen würde) ('strace -f -eprocess perl dein_script.pl' ist hilfreich ;)
Ha, hab's:
woher bitte? Ich habe mir jetzt die Doku zu GnuPG (perldoc GnuPG) merhfach angesehen; deine "Lösung" finde ich hier aber nicht. Wie bist Du drauf gekommen? (Nur so aus Interesse)
==== use GnuPG; my $gpg = new GnuPG(); my @options = qw( --recipient foo --recipient bar --armor ); $gpg->options(\@options); $gpg->{input} = "input.txt"; $gpg->{output} = "input.txt.gpg"; $gpg->command("encrypt"); $gpg->args([]); $gpg->run_gnupg(); $gpg->end_gnupg(); ====
Die Fehlerbehandlung, wenn gpg was zu meckern hat fehlt aber.
Kein Thema; das bastel ich mir schon rein. (Ich habe im Netz noch eine ggf. mögliche Lösung mit GnuPG::Interface gefunden, aber die ist IMO nicht so "intuitiv" verstehbar - das Programm muss aber ggf. auch von anderen gewartet werden können) Danke Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mon, 20 Jul 2009, Kyek, Andreas, VF-DE schrieb:
David Haller wrote:
Am Fre, 17 Jul 2009, Kyek, Andreas, VF-DE schrieb:
Wenn man in das GnuPG.pm reinschaut, das bastelt er die Argumente für GnuPG hier mit push @options, "--recipient" => $args{recipient};
Und auch mit Tricks bekommt man da leider nicht mehr rein. Mach's dir einfach und ruf gpg selber auf (so wie's GnuPG machen würde) ('strace -f -eprocess perl dein_script.pl' ist hilfreich ;)
Ha, hab's:
woher bitte? Ich habe mir jetzt die Doku zu GnuPG (perldoc GnuPG) merhfach angesehen; deine "Lösung" finde ich hier aber nicht. Wie bist Du drauf gekommen? (Nur so aus Interesse)
Quelltexte gelesen ;) GnuPG.pm, v.a. die subs encrypt und run_gnupg. Ist relativ lesbar, meine Lösung ist mehr oder weniger eine Abwandlung von dem was 'encrypt' macht.
Kein Thema; das bastel ich mir schon rein.
(Ich habe im Netz noch eine ggf. mögliche Lösung mit GnuPG::Interface
Ist das denn installiert? Weil wenn du nachinstallieren kannst gäbe es noch mehr Module: Crypt::GPG Crypt::GpgME GPG Mail::GPG Crypt::OpenPGP [*] [*] This is Crypt::OpenPGP. It provides a pure-Perl implementation of the OpenPGP standard, including support for all versions of PGP and GnuPG. d.h. das Modul braucht kein gpg-Binary, dafür eben diverse andere Module für die div. Algorithmen etc.
gefunden, aber die ist IMO nicht so "intuitiv" verstehbar - das Programm muss aber ggf. auch von anderen gewartet werden können)
Letztlich wäre es einfacher selber gpg aufzurufen, nur die Kommunikation mit dem ist nicht trivial, aber dazu gibt's ja FAQs. $ perldoc -q pipe Found in /usr/local/lib/perl5/5.10.0/pod/perlfaq8.pod How can I open a pipe both to and from a command? Oder du guckst wie's GnuPG.pm in run_gnupg() macht. HTH, -dnh -- "Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." -- Death -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
David Haller wrote:
Am Mon, 20 Jul 2009, Kyek, Andreas, VF-DE schrieb:
David Haller wrote:
[...]
Ha, hab's:
woher bitte? Ich habe mir jetzt die Doku zu GnuPG (perldoc GnuPG) merhfach angesehen; deine "Lösung" finde ich hier aber nicht. Wie bist Du drauf gekommen? (Nur so aus Interesse)
Quelltexte gelesen ;) GnuPG.pm, v.a. die subs encrypt und run_gnupg. Ist relativ lesbar, meine Lösung ist mehr oder weniger eine Abwandlung von dem was 'encrypt' macht.
so einfach ist die Lösung? Da hätte ich auch selber drauf kommen können (insbesondere, da der Tip[p] von Dir kam -;)
Kein Thema; das bastel ich mir schon rein.
(Ich habe im Netz noch eine ggf. mögliche Lösung mit GnuPG::Interface
Ist das denn installiert? Weil wenn du nachinstallieren kannst gäbe es noch mehr Module:
Crypt::GPG Crypt::GpgME GPG Mail::GPG Crypt::OpenPGP [*]
Nee, ich kann hier nichts installieren. Und von dem Zeugs ist leider nichts installiert. Ich habe mich jetzt noch 'ne Weile mit GnuPG::Interface beschäftigt - gehen tut das. Also habe ich schon zwei mögliche Lösungen und eine wird es wohl werden. Mal sehen, welche am Ende gewinnt (schliesslich zählt hier eigentlich nur das Ergebnis). Danke Andreas (der diesen Post wahrscheinlich auch wieder nicht sehen wird!) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mon, 20 Jul 2009, Kyek, Andreas, VF-DE schrieb:
David Haller wrote:
Am Mon, 20 Jul 2009, Kyek, Andreas, VF-DE schrieb:
David Haller wrote: [...]
Ha, hab's:
woher bitte? Ich habe mir jetzt die Doku zu GnuPG (perldoc GnuPG) merhfach angesehen; deine "Lösung" finde ich hier aber nicht. Wie bist Du drauf gekommen? (Nur so aus Interesse)
Quelltexte gelesen ;) GnuPG.pm, v.a. die subs encrypt und run_gnupg. Ist relativ lesbar, meine Lösung ist mehr oder weniger eine Abwandlung von dem was 'encrypt' macht.
so einfach ist die Lösung? Da hätte ich auch selber drauf kommen können (insbesondere, da der Tip[p] von Dir kam -;)
Naja, "einfach" ist relativ ;) Hat mich schon einige Minuten gekostet, zumal ich zuerst versucht habe, das über den "normalen" Weg über den Hash reinzubekommen ( recipients => [ 'foo@foo.example', '--recipient', 'bar@bar.example' ], ) und ähnliche Spielchen ... Nachdem ich dann den Quelltext genauer gelesen habe, hab ich gesehen, daß das nicht klappen kann ... usw. ;) Achso: bei mir bitte alte Rechtschreibung. Bei 'Tipp' usw. rollen sich mir die Fußnägel auf.
Kein Thema; das bastel ich mir schon rein.
(Ich habe im Netz noch eine ggf. mögliche Lösung mit GnuPG::Interface
Ist das denn installiert? Weil wenn du nachinstallieren kannst gäbe es noch mehr Module:
Crypt::GPG Crypt::GpgME GPG Mail::GPG Crypt::OpenPGP [*]
Nee, ich kann hier nichts installieren. Und von dem Zeugs ist leider nichts installiert.
Auch im ~/ nicht? export PERL5LIB="${HOME}/lib/perl" "regelt"! Ansonsten wundert's mich, daß GnuPG und GnuPG::Interface vorhanden sind ;)
Ich habe mich jetzt noch 'ne Weile mit GnuPG::Interface beschäftigt - gehen tut das. Also habe ich schon zwei mögliche Lösungen und eine wird es wohl werden.
Mind. drei! Du vergisst den "händischen" Aufruf von gpg via system, IPC::*, temp-Datei + open, usw. ;)
Mal sehen, welche am Ende gewinnt (schliesslich zählt hier eigentlich nur das Ergebnis).
ACK.
(der diesen Post wahrscheinlich auch wieder nicht sehen wird!)
Doublettenfilter? Überlasteter Server? Greylisting? ... -dnh --
Ein Massenprovider hat nun mal jede Menge Kunden, und 10% Idioten sind halt immer dabei. Die stoeren mich gar nicht. Die 75 % Vollidioten schon eher. [Roman Niederdrenk und Hans Bonfigt in doc] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
David Haller wrote:
Am Mon, 20 Jul 2009, Kyek, Andreas, VF-DE schrieb: [...]
(der diesen Post wahrscheinlich auch wieder nicht sehen wird!)
Doublettenfilter? Überlasteter Server? Greylisting? ...
Serverüberlastung: Denke nein (die Firma ist ja nicht gerade klein - allerdings bin ich nicht der Admin von diesem Ding. Es hat ja die letzten Jahre auch funktioniert. Und mein MUA filtert eigentlich auch nicht anders als sonst. Ich muss hier leider dsa MS Produkt benutzen. Anders ist ist hier nicht möglich. Aber die Konfig ist seit langem eigentlich fest; ich habe jedenfalls nicht willentlich daran rumgebastelt. Da werd' ich wohl noch suchen müssen. Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (3)
-
Andre Heine
-
David Haller
-
Kyek, Andreas, VF-DE