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