Re: Schlüssel von Keyserver holen und nutzen mit Python-Bindings
Jan Girlich
vollkorn at cryptobitch.de
Mo Aug 21 08:37:19 CEST 2017
Moin Jochen,
Am 21.08.2017 um 05:27 schrieb Jochen Saalfeld:
> On Saturday, August 19, 2017 5:52:44 PM CEST Jan Girlich wrote:
>> Wie kann ich mit encrypt() den Key nutzen, den ich mir gerade
>> heruntergeladen habe?
>
> Soweit ich das auf dem Schirm habe, muss der Key zunächst importiert werden,
> bevor du ihn wirklich verwenden kannst [1]. Ich denke, dass der Key erst im
> Context sein muss, bevor er verwendet werden kann [2].
genau das war mein Problem.
So geht es:
with gpg.Context(armor=True) as c:
c.set_engine_info(gpg.constants.PROTOCOL_OpenPGP,
home_dir='~/mytestdir/')
# Privaten Signatur-Schlüssel aus lokalem Schlüsselring holen
sender_key = c.get_key(settings.GPG_HOST_USER)
# Umstellen auf EXTERN um Empfänger-Schlüssel von Server zu
# holen
gpg.core.gpgme.gpgme_set_keylist_mode(c.wrapped,
gpg.constants.KEYLIST_MODE_EXTERN)
recipient_key = c.get_key('<key id>')
# Schlüssel vom Server in den Context importieren.
c.op_import_keys([recipient_key])
encrypted_body, _, _ = c.encrypt(
'Testnachricht'.encode(),
recipients=[sender_key, recipient_key],
sign=True, always_trust=True)
Vielen Dank
Jan Girlich
Mehr Informationen über die Mailingliste Gnupg-de