【问题标题】:pgpy: Decrypting a file produces a compressed file. Can't see how to uncompress itpgpy:解密文件会生成一个压缩文件。看不到怎么解压
【发布时间】:2020-07-20 09:04:21
【问题描述】:

我正在尝试使用 pgpy 使用私钥解密文本文件。

我可以加载文件,它似乎解密它可以,但解密后内容仍然是 PGP 消息,并且对象具有 is_compressed=true。解密没有错误。

是否还有要解压缩的解密标志?还是我在这里遗漏了一些基本的东西?

import pgpy

key, _ = pgpy.PGPKey.from_file('/path/private_key_file')
with key.unlock('passphrase') as ukey:
    file_name = 'encrypted_file.pgp'
    # decrypt it
    enc_content=pgpy.PGPMessage.from_file(file_name)
    clr_content = key.decrypt(enc_content)
    
    # Write the content to a file
    # ...

我在解密行收到警告:UserWarning: Message was encrypted with this key's subkey: A85C839A50F35A9A.用那个解密...

此时,clr_content.is_compressed = true 和 str(clr_content) 看起来像:

'-----BEGIN PGP MESSAGE-----\n\nyP8AAOEdAnicxL3NcuPash54Oxwd0eEIv4EHGF3fG8bmwf
/PzCAIERBBgBsgpaMa\n+AQkokRskYQMkqWteol+E0d41ENHOPphet4DT5258EMSwAIgqY7PiSssct
8qVa6F\nXPmfX/6//+7f/NP/9X/8t//vP/3f699///f/9F//6d/8P//u8S/G6rfF78LfJE74\nm7H6
...
zn+3/Zud///2t+j997Uf0x940/eQbX/f6lx7656+8y/2l2k+9\n74fe/t+P/NGXPvGRr2sf+uIHHnr
tpz598PFvvf3/AYHoIHI=\n=cI/q\n-----END PGP MESSAGE-----\n'

我尝试通过 gzip 推送它,但没有成功。

提前致谢 迈克

【问题讨论】:

标签: python pgp openpgp


【解决方案1】:

这样的事情应该可以工作:

clr_content = (key.decrypt(enc_content)).message

最近对此进行了很多实验,似乎解密的PGPMessage 仍然是PGPMessage(回想起来很明显),并且要获得“清晰”的内容,您需要检索对象的.message 属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-05
    • 2011-01-23
    • 2013-03-09
    • 1970-01-01
    • 2010-12-14
    相关资源
    最近更新 更多