首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PGP加密文件在python抛出错误时,PGPError: Key 169ADF2575FB不具有所需的使用标志EncryptStorage,EncryptCommunications

使用PGP加密文件在python抛出错误时,PGPError: Key 169ADF2575FB不具有所需的使用标志EncryptStorage,EncryptCommunications
EN

Stack Overflow用户
提问于 2022-10-13 10:56:06
回答 1查看 128关注 0票数 0

我试图用pgp模块加密文件,但我所使用的公众正在抛出标志错误。我试图遵循文档这里,我试图生成一个新的密钥,但是它只是生成一个私钥,就像文档生成主密钥中提到的那样,但是我们需要一对公钥和私钥来加密和解密,对吗?文件中提到的其余部分我无法理解(签名和核实)。

代码语言:javascript
复制
from pgpy import PGPKey, PGPMessage
pub_key, _ = pgpy.PGPKey.from_file('PublicPGP1.asc')
#pub_key._require_usage_flags = False 'This feature have been removed'
with io.open('test.csv', "r",newline='') as csv_file:
    input_data = csv_file.read()
msg = pgpy.PGPMessage.new(input_data)
encrypted_message = pub_key.encrypt(msg)

错误是:

代码语言:javascript
复制
Traceback (most recent call last):
  File "C:\Users\raia6\Desktop\pgpy\pgpenc.py", line 19, in <module>
    encrypted_phrase = key.encrypt(message)
  File "C:\Users\raia6\AppData\Local\Programs\Python\Python39\lib\site-packages\pgpy\decorators.py", line 125, in _action
    with self.usage(key, kwargs.get('user', None)) as _key:
  File "C:\Users\raia6\AppData\Local\Programs\Python\Python39\lib\contextlib.py", line 119, in __enter__
    return next(self.gen)
  File "C:\Users\raia6\AppData\Local\Programs\Python\Python39\lib\site-packages\pgpy\decorators.py", line 96, in usage
    raise PGPError("Key {keyid:s} does not have the required usage flag {flags:s}".format(**em))
pgpy.errors.PGPError: Key 35AF67D132D325C9 does not have the required usage flag EncryptStorage, EncryptCommunications

我的要求是生成公钥和私钥(带有标志),然后加密和解密数据。

EN

回答 1

Stack Overflow用户

发布于 2022-10-19 09:46:14

  1. 您不能使用私钥进行加密。导出它的公共部分,然后使用它。私钥用于解密,应保密。
  2. 在PGP中,键和子键有一些标志,说明它可以用于什么目的。在您的示例中,生成的主密钥似乎是只签名的,因此您应该生成加密子密钥并将其添加到主密钥中。

有关OpenPGP密钥/协议的详细信息,请参阅RFC 4880。要检查您的关键参数,可以使用gpg --list-packets PublicPGP1.ascrnp --list-packets PublicPGP1.asc,如果您已经构建/安装了后一个参数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74054610

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档