From wk at gnupg.org Wed Jul 10 16:28:55 2013 From: wk at gnupg.org (Werner Koch) Date: Wed, 10 Jul 2013 16:28:55 +0200 Subject: GPGME, gpgsm und mutt In-Reply-To: <20130522203239.GA1252@uni-koeln.de> (Jan Eden's message of "Wed, 22 May 2013 22:32:39 +0200") References: <20130522203239.GA1252@uni-koeln.de> Message-ID: <87bo6av68o.fsf@vigenere.g10code.de> On Wed, 22 May 2013 22:32, net at janeden.net said: > Der Umstieg auf GPGME gestaltet sich allerdings sehr schwierig. mutt ist > entsprechend kompiliert (--enable-gpgme), gepatcht Leider habe ich seit Jahren nicht mehr die Mutt Entwicklung vefolgt und so kann es durchaus sein, dass sich hier etwas ?bit rot? eingeschlichen hat. > Mit OpenPGP und GPGME läuft es einigermaßen. Wenn ich allerdings eine Schön. > verschlüsselte Nachricht zwischen meinen beiden Mail-Accounts versende, > akzeptiert gpg nur die Passphrase des *Absenders* zum Entschlüsseln der > Nachricht (encrypt_to in gpg.conf ist auf die ID des Absenderschlüssels Ich verstehe nicht genau was Du hier meinst. > pinentry-curses: no LC_CTYPE known - assuming UTF-8 > > Die offenbar häufigste Ursache für diese Fehlermeldung habe ich bereits > beseitigt (export GPG_TTY=`tty` in .bash_profile), trotzdem scheitert Das ist by curses wirklich wichtig. > der Import (mit der o.g. Fehlermeldung). Interessanterweise startet > pinentry-curses anstandslos, wenn ich ein OpenPGP-Schlüsselpaar > generiere oder in mutt meine Passphrase beim Signieren eingeben muss Kannst Du das Ganze bitte einmal in einem xterm testen, so das eine GUI Version des Pinentries benutzt wird? > (Frage am Rande: In .muttrc kann ich ein Timeout für Passphrasen > angeben ? ist das auch mit GPGME möglich?). Neuere Pinentries haben zwar ein timeout feature, das wird aber momentan noch nicht benutzt. > mit gpgsm importiert. Die Fingerprints der CAs habe ich in qualified.txt In qualified.txt sollte die aber nur drin sein, ween es wirklich die Root für eine qualifizierte Signatur ist. > abgelegt, die Fingerprints der CAs und den meines eigenen Zertifikates > in trustlist.txt (jeweils mit 'S' am Zeilenende). Das sollte reichen. Die gpg-agent Option "allow-mark-trusted" ist aber einafcher zu verwenden als die trustlist.txt selbst festzulegen. > signiert wurden, nicht verifizert werden, solange GPGME genutzt wird. > OpenSSL verifiziert die Signaturen. Ich vermute eine Regression in Mutt. Den Code in Mutt aber ich vor Urzeiten geschrieben. Das müsste man sich mal genau ansehen - ich habe dafür aber keine Zeit. In gpgsm.conf "debug 512" eintragen. Dann werden Debugdateien erzeugt, mit den Daten die signiert werden - das wird schnell den Fehler aufzeigen. Salam-Shalom, Werner -- Die Gedanken sind frei. Ausnahmen regelt ein Bundesgesetz. From net at janeden.net Fri Jul 12 14:44:28 2013 From: net at janeden.net (Jan Eden) Date: Fri, 12 Jul 2013 14:44:28 +0200 Subject: GPGME, gpgsm und mutt In-Reply-To: <87bo6av68o.fsf@vigenere.g10code.de> References: <20130522203239.GA1252@uni-koeln.de> <87bo6av68o.fsf@vigenere.g10code.de> Message-ID: <20130712124428.GA1591@mcm-eden.verw.uni-koeln.de> On Wed, Jul 10, 2013 at 04:28:55PM +0200, Werner Koch wrote: > On Wed, 22 May 2013 22:32, net at janeden.net said: > > > verschlüsselte Nachricht zwischen meinen beiden Mail-Accounts versende, > > akzeptiert gpg nur die Passphrase des *Absenders* zum Entschlüsseln der > > Nachricht (encrypt_to in gpg.conf ist auf die ID des Absenderschlüssels > > Ich verstehe nicht genau was Du hier meinst. Die Frage hat sich erledigt: GnuPG greift natürlich auf den ersten einschlägigen Schlüssel zurück, und das war in diesem Fall der des Absenders. > > der Import (mit der o.g. Fehlermeldung). Interessanterweise startet > > pinentry-curses anstandslos, wenn ich ein OpenPGP-Schlüsselpaar > > generiere oder in mutt meine Passphrase beim Signieren eingeben muss > > Kannst Du das Ganze bitte einmal in einem xterm testen, so das eine GUI > Version des Pinentries benutzt wird? Leider nicht, ich nutze OS X, mein Terminal simuliert ein xterm, aber ich habe kein echtes xterm zur Verfügung. Das Problem bleibt jedenfalls bestehen: localhost:~ gpgsm --import ~/mycert.p12 gpgsm: enabled debug flags: hashing gpgsm: no running gpg-agent - starting one gpg-agent[1677]: enabled debug flags: command mpi crypto memory cache memstat hashing assuan gpgsm: gpg-agent[1680]: enabled debug flags: command mpi crypto memory cache memstat hashing assuan gpgsm: gpg-protect-tool: error while asking for the passphrase: Invalid IPC response gpgsm: error running `/usr/local/libexec/gpg-protect-tool': exit status 2 gpgsm: total number processed: 0 secmem usage: 0/16384 bytes in 0 blocks gpg-agent.log enthält: 2013-07-12 14:27:39 gpg-agent[1680] starting a new PIN Entry gpg-agent[1680]: chan_8 <- OK Your orders please 2013-07-12 14:27:39 gpg-agent[1680] DBG: connection to PIN entry established gpg-agent[1680]: chan_8 -> OPTION grab gpg-agent[1680]: chan_8 <- OK gpg-agent[1680]: chan_8 -> OPTION ttytype=xterm-256color gpg-agent[1680]: chan_8 <- OK gpg-agent[1680]: chan_8 -> OPTION lc-ctype=UTF-8 gpg-agent[1680]: chan_8 <- OK gpg-agent[1680]: chan_8 -> OPTION default-ok=_OK gpg-agent[1680]: chan_8 <- OK gpg-agent[1680]: chan_8 -> OPTION default-cancel=_Cancel gpg-agent[1680]: chan_8 <- OK gpg-agent[1680]: chan_8 -> OPTION default-prompt=PIN: gpg-agent[1680]: chan_8 <- OK gpg-agent[1680]: chan_8 -> GETINFO pid gpg-agent[1680]: chan_8 <- D 1681 gpg-agent[1680]: chan_8 <- OK gpg-agent[1680]: chan_6 -> INQUIRE PINENTRY_LAUNCHED 1681 gpg-agent[1680]: chan_6 <- END gpg-agent[1680]: chan_8 -> SETDESC Please enter the passphrase to unprotect the PKCS#12 object. gpg-agent[1680]: chan_8 <- OK gpg-agent[1680]: chan_8 -> SETPROMPT Passphrase: gpg-agent[1680]: chan_8 <- OK gpg-agent[1680]: chan_8 -> [[Confidential data not shown]] pinentry sollte also erscheinen (und der Prozess befindet sich laut Terminal auch zeitweise im Vordergrund), aber es wird nicht sichtbar. > > (Frage am Rande: In .muttrc kann ich ein Timeout für Passphrasen > > angeben ? ist das auch mit GPGME möglich?). > > Neuere Pinentries haben zwar ein timeout feature, das wird aber momentan > noch nicht benutzt. Die Option in muttrc ist etwas irreführend benannt: Es geht um den Zeitraum, in dem eine Passphrase gecachet wird (z.B. 5 Minuten), um sie für folgende Signaturvorgänge nicht erneut eingeben zu müssen. > > signiert wurden, nicht verifizert werden, solange GPGME genutzt wird. > > OpenSSL verifiziert die Signaturen. > > Ich vermute eine Regression in Mutt. Den Code in Mutt aber ich vor > Urzeiten geschrieben. Das müsste man sich mal genau ansehen - ich habe > dafür aber keine Zeit. In gpgsm.conf "debug 512" eintragen. Dann werden > Debugdateien erzeugt, mit den Daten die signiert werden - das wird > schnell den Fehler aufzeigen. Das Problem hat sich auf wundersame Weise erledigt: Die Signaturen werden jetzt verifiziert (obwohl ich nichts gemacht habe?). Es bleibt also nur das Verhalten von pinentry in bestimmten Kontexten. Falls es aktuell keine offensichtliche Lösung gibt, nutze ich für S/MIME einfach weiterhin OpenSSL. Vielen Dank und herzliche Grüße Jan From rose-indorf at gmx.de Thu Jul 25 23:43:37 2013 From: rose-indorf at gmx.de (Sebastian Rose-Indorf) Date: Thu, 25 Jul 2013 23:43:37 +0200 Subject: GnuPG-Pack: Neue Version: 13.7.3 Message-ID: <006301ce8980$054d6320$0fe82960$@de> -----BEGIN PGP SIGNED MESSAGE----- Hash: RIPEMD160 Hallo, GnuPG 1.4.14 wurde veröffentlicht: ein Security-fix-Release, "and all users of GnuPG [...] are advised to updated to this version". Das GnuPG-Pack - jetzt Version 13.7.3 - wurde entsprechend aktualisiert. Das GnuPG-Pack - vormals GnuPG-Pack Basics - ist ein Installationspaket für GnuPG, WinPT Tray und GPGrelay sowie für Stunnel mit OpenSSL. Die Projektseite finden Sie unter http://home.arcor.de/rose-indorf. Frohes Schaffen! Sebastian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.14-SpecialBuild (MingW32) - GPGrelay v0.962 iD8DBQFR8ZwVoNLoClWVo8MRA16vAJ0SeTtnd9zJPpwB99yMivRFZoUEwQCdEqyC 1V3QmWE88UoOQ/gvm1XG9Fc= =rlLH -----END PGP SIGNATURE-----