PGPy: расшифровать сообщение: gpy.errors.PGPError: Ожидается: is_publi c == False. Получил: Верно - PullRequest
0 голосов
/ 12 июля 2020

Требование: Чтобы расшифровать файл до квитанций с помощью PGPy

Ключ Сгенерирован ключ с кодом ниже

import gnupg
from pprint import pprint

gpg = gnupg.GPG()

# generate key
input_data = gpg.gen_key_input(name_email='email@gmail.com',passphrase='passphrase',)
key = gpg.gen_key(input_data)

# create ascii-readable versions of pub / private keys
ascii_armored_public_keys = gpg.export_keys(key.fingerprint)
ascii_armored_private_keys = gpg.export_keys(
    keyids=key.fingerprint,
    secret=True,
    passphrase='passphrase',
)

# export
with open('mykeyfile.asc', 'w') as f:
    f.write(ascii_armored_public_keys)
    f.write(ascii_armored_private_keys)

Ошибка pgpy.errors.PGPError: Ожидается: is_publi c == False. Получено: Верно

Код

def decrypt_file():
    encrypted_file_obj = ''
    with open('/path/encrypted_cleartext.txt', 'r') as readfile:
        encrypted_file_obj = readfile.read()
    encrypted_message = pgpy.PGPMessage.from_blob(bytes(encrypted_file_obj, encoding='utf-8'))
    private_key, _ = pgpy.PGPKey.from_file('mykeyfile.asc')
    decrypted_message = private_key.decrypt(encrypted_message).message
...