From 5cb67257f2b3b5fcfd3444e366f26a0f2ae09504 Mon Sep 17 00:00:00 2001 From: Ben McGinnes Date: Thu, 20 Sep 2018 11:38:20 +1000 Subject: docs: python bindings and its special request * Added some material on using the new-ish hkp4py module with GPGME. * Example code will be added later once a couple of little issues are addressed. Signed-off-by: Ben McGinnes --- lang/python/docs/gpgme-python-howto.org | 34 ++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) (limited to 'lang/python/docs/gpgme-python-howto.org') diff --git a/lang/python/docs/gpgme-python-howto.org b/lang/python/docs/gpgme-python-howto.org index 0836d21d..53ca3a58 100644 --- a/lang/python/docs/gpgme-python-howto.org +++ b/lang/python/docs/gpgme-python-howto.org @@ -642,7 +642,7 @@ one argument which is a bytes literal object containing either the binary or ASCII armoured key data for one or more keys. The following example retrieves one or more keys from the SKS -keyservers via the web using the requests module. Since requests +keyservers via the web using the requests module. Since requests returns the content as a bytes literal object, we can then use that directly to import the resulting data into our keybox. @@ -690,7 +690,7 @@ else: *NOTE:* When searching for a key ID of any length or a fingerprint (without spaces), the SKS servers require the the leading =0x= -indicative of hexadecimal be included. Also note that the old short +indicative of hexadecimal be included. Also note that the old short key IDs (e.g. =0xDEADBEEF=) should no longer be used due to the relative ease by which such key IDs can be reproduced, as demonstrated by the Evil32 Project in 2014 (which was subsequently exploited in @@ -2084,7 +2084,7 @@ existing code and to detect Cython's use. The latter comes from the [[http://docs.cython.org/en/latest/src/tutorial/pure.html#magic-attributes-within-the-pxd][Magic Attributes]] section of the Cython documentation. -* Miscellaneous work-arounds +* Miscellaneous extras and work-arounds :PROPERTIES: :CUSTOM_ID: cheats-and-hacks :END: @@ -2157,6 +2157,34 @@ converts them into crypt-hooks suitable for use with the Mutt and Neomutt mail clients. +** Keyserver access for Python + :PROPERTIES: + :CUSTOM_ID: hkp4py + :END: + +The [[https://github.com/Selfnet/hkp4py][hkp4py]] module by Marcel Fest was originally a port of the old +[[https://github.com/dgladkov/python-hkp][python-hkp]] module from Python 2 to Python 3 and updated to use the +[[http://docs.python-requests.org/en/latest/index.html][requests]] module instead. It has since been modified to provide +support for Python 2.7 as well and is available via PyPI. + +Since it rewrites the =hkp= protocol prefix as =http= and =hkps= as +=https=, the module is able to be used even with servers which do not +support the full scope of keyserver functions. It will work quite +readily when incorporated into a [[#cython][Cython]] generated and compiled version +of any code. + + +*** Key import format + :PROPERTIES: + :CUSTOM_ID: hkp4py-strings + :END: + +The hkp4py module returns key data via requests as string literals +(=r.text=) instead of byte literals (=r.content=). This means that +the retrurned key data must be encoded to UTF-8 when importing that +key material using a =gpg.Context().key_import()= method. + + * Copyright and Licensing :PROPERTIES: :CUSTOM_ID: copyright-and-license -- cgit v1.2.3