From dea1ccbc02cafe1c85c8945605d9bb9f46cc5790 Mon Sep 17 00:00:00 2001
From: Ben McGinnes
Date: Wed, 23 May 2018 15:08:03 +1000
Subject: [PATCH] docs: python bindings howto DITA
* Updated the decryption example code to include the changes needed to
gracefully handle a decryption failure due to MDC-less ciphertext
and/or deprecated algorithms.
* See also: https://dev.gnupg.org/T3981
---
lang/python/docs/dita/howto/part04/decryption.dita | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/lang/python/docs/dita/howto/part04/decryption.dita b/lang/python/docs/dita/howto/part04/decryption.dita
index 4261e69d..41a4650e 100644
--- a/lang/python/docs/dita/howto/part04/decryption.dita
+++ b/lang/python/docs/dita/howto/part04/decryption.dita
@@ -17,10 +17,17 @@ 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)
+ try:
+ plaintext, result, verify_result = gpg.Context().decrypt(cfile)
+ except gpg.errors.GPGMEError as e:
+ plaintext = None
+ print(e)
-with open(newfile, "wb") as nfile:
- nfile.write(plaintext)
+if plaintext is not None:
+ with open(newfile, "wb") as nfile:
+ nfile.write(plaintext)
+else:
+ pass
The data available in plaintext in this example is the decrypted content