我试图用pgp模块加密文件,但我所使用的公众正在抛出标志错误。我试图遵循文档这里,我试图生成一个新的密钥,但是它只是生成一个私钥,就像文档生成主密钥中提到的那样,但是我们需要一对公钥和私钥来加密和解密,对吗?文件中提到的其余部分我无法理解(签名和核实)。
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)错误是:
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我的要求是生成公钥和私钥(带有标志),然后加密和解密数据。
发布于 2022-10-19 09:46:14
有关OpenPGP密钥/协议的详细信息,请参阅RFC 4880。要检查您的关键参数,可以使用gpg --list-packets PublicPGP1.asc或rnp --list-packets PublicPGP1.asc,如果您已经构建/安装了后一个参数。
https://stackoverflow.com/questions/74054610
复制相似问题