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