aboutsummaryrefslogtreecommitdiffstats
path: root/lang/python/docs/dita/howto/part04/decryption.dita
diff options
context:
space:
mode:
authorBen McGinnes <[email protected]>2018-05-15 03:13:16 +0000
committerBen McGinnes <[email protected]>2018-05-15 03:13:16 +0000
commitf0063afa71bc7e71f19d174acc2fde26f0c11850 (patch)
treea23a33ef70f13747642a8c96e7128e41b5f7ce58 /lang/python/docs/dita/howto/part04/decryption.dita
parentjson: Improve auto-base64 encoding to not split UTF-8 chars. (diff)
downloadgpgme-f0063afa71bc7e71f19d174acc2fde26f0c11850.tar.gz
gpgme-f0063afa71bc7e71f19d174acc2fde26f0c11850.zip
docs: python bindings HOWTO - DITA XML version
* Due to the org-babel bug which breaks Python source code examples beyond the most simple snippets, ported the HOWTO to a source format which I *know* for sure won't break it. * Details of the org-mode bug is in https://dev.gnupg.org/T3977 * DITA project uses DITA-OT 2.x (2.4 or 2.5, IIRC) with support for DITA 1.3. * source files were written with oXygenXML Editor 20.0, hence the oXygenXML project file in the directory; however only the .ditamap and .dita files are required to generate any output with the DITA-OT. Signed-off-by: Ben McGinnes <[email protected]>
Diffstat (limited to 'lang/python/docs/dita/howto/part04/decryption.dita')
-rw-r--r--lang/python/docs/dita/howto/part04/decryption.dita31
1 files changed, 31 insertions, 0 deletions
diff --git a/lang/python/docs/dita/howto/part04/decryption.dita b/lang/python/docs/dita/howto/part04/decryption.dita
new file mode 100644
index 00000000..e3918c55
--- /dev/null
+++ b/lang/python/docs/dita/howto/part04/decryption.dita
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE dita PUBLIC "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd">
+<dita>
+ <topic id="topic_vqx_tqy_5db">
+ <title>Decryption</title>
+ <body>
+ <p>Decrypting something encrypted to a key in one's secret keyring is fairly straight
+ forward.</p>
+ <p>In this example code, however, preconfiguring either <codeph>gpg.Context()</codeph> or
+ <codeph>gpg.core.Context()</codeph> as <codeph>c</codeph> is unnecessary because there is
+ no need to modify the Context prior to conducting the decryption and since the Context is
+ only used once, setting it to c simply adds lines for no gain.</p>
+ <p>
+ <codeblock id="decry-1" outputclass="language-python">import gpg
+
+ciphertext = input("Enter path and filename of encrypted file: ")
+newfile = input("Enter path and filename of file to save decrypted data to: ")
+
+with open(ciphertext, "rb") as cfile:
+ plaintext, result, verify_result = gpg.Context().decrypt(cfile)
+
+with open(newfile, "wb") as nfile:
+ nfile.write(plaintext)
+</codeblock>
+ </p>
+ <p>The data available in <codeph>plaintext</codeph> in this example is the decrypted content
+ as a byte object, the recipient key IDs and algorithms in <codeph>result</codeph> and the
+ results of verifying any signatures of the data in <codeph>verify_result</codeph>.</p>
+ </body>
+ </topic>
+</dita>