Hilfe mit der Python GPGMe Wrapper Library.
Werner Koch
wk at gnupg.org
Mi Feb 28 20:48:08 CET 2018
On Wed, 28 Feb 2018 15:16, marcelf at selfnet.de said:
> ich benötige Hilfe mit der GPGMe Implementation für Python.
Ich bin nicht wirklich der Experte für unsere Python Bindings aner ein
paar Fragen kann ich schon beantworten.
> Library: gpg Python C Wrapper Library current version from Pypi
Besser ware es die offiziele Version von gpgme 1.10.0 zu verwenden. Ich
habe keine Ahnung ob und wer das jetzt noch nach Pypi hochlädt.
> keylist = gnupg.keylist(
> pattern=sudoer[1],
> mode=gpg.constants.keylist.mode.EXTERN)
>
> Kann ich als Pattern auch eine Liste übergeben, das wird nicht ganz
> ersichtlich aus der Dokumentation der Funktion.
Ja, das entspricht der GnuPG Kommandozeile.
> Falls man eine Liste an pattern übergeben kann, werden die keys dann in
> der Reihenfolge der pattern Liste zurückgegeben?
Nein, davon kannst Du nicht ausgehen.
> Gibt es eine Möglichkeit, die Keys nur herunterzuladen, wenn der Key vom
> Server neuer ist, oder muss man so etwas selber implementieren?
gpg, als Backend, merged die Keys sowieso. Es wäre besser, wenn Du den
Anwendungsfall schildern könntest.
> Im Moment schaue ich, ob es den Key schon in meinem temporären KeyRing
> gibt und wenn ja, dann lade ich ihn nicht vom Server. Geht das auch schöner?
s.o.
> Wie kann ich den Keyserver in Python manuell setzen?
Gar nicht. Das wird in dirmngr.conf konfiguriert. Notfalls noch
gpg.conf). Dirmngr hat aber sinnvolle Defaults.
> kann ich so etwas wie
>
> gpg --list-packets --list-only path/to/file
>
> mit der Library realisieren und wenn ja, wie?
--list-packets ist eher zum debuggen und keine definierte Schnittstelle.
Was willst Du machen?
> Gibt es eine Möglichkeit zu verschlüsseln ohne, dass man alle Key
> Objekte in Python vorhalten muss?
Nein, die Keys müssen vorher festgelegt werden.
> Also verschlüsseln nach Fingerprints zum Beispiel?
c = gpg.Context()
c.set_armor(True)
source = gpg.Data("Hallo\n")
sink = gpg.Data()
keys = []
keys.append(c.get_key("A0FF4590BB6122EDEF6E3C542D727CC768697734", False))
keys.append(c.get_key("D695676BDCEDCC2CDD6152BCFE180B1DA9E3B0B2", False))
c.op_encrypt(keys, gpg.constants.ENCRYPT_ALWAYS_TRUST, source, sink)
Ist das nicht einfach genug?
Shalom-Salam,
Werner
--
# Please read: Daniel Ellsberg - The Doomsday Machine #
Die Gedanken sind frei. Ausnahmen regelt ein Bundesgesetz.
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : nicht verfügbar
Dateityp : application/pgp-signature
Dateigröße : 227 bytes
Beschreibung: nicht verfügbar
URL : <https://lists.gnupg.org/pipermail/gnupg-de/attachments/20180228/81cc8c6c/attachment.sig>
Mehr Informationen über die Mailingliste Gnupg-de