我正在尝试用 python 创建一个 AWS Lambda:
python-gnupg
python-gnupg
这是在 Lambda 层中使用 python 3.8 和包。
我已验证 PGP 密钥是否正确,它是否已正确加载到密钥环中,并且加密文件是否已正确下载。但是,当我尝试运行时,gnupg.decrypt_file
我得到的输出看起来好像已经成功,但解密状态显示not ok
并且解密的文件不存在。
如何在 Lambda 中进行 PGP 解密?
以下是从 lambda 函数中提取的相关代码:
import gnupg
from pathlib import Path
# ...
gpg = gnupg.GPG(gnupghome='/tmp')
# ...
encrypted_path = '/tmp/encrypted.zip'
decrypted_path = '/tmp/decrypted.zip'
# ...
# this works as expected
status = gpg.import_keys(MY_KEY_DATA)
# ...
print('Performing Decryption of', encrypted_path)
print(encrypted_path, "exists :", Path(encrypted_path).exists())
with open(encrypted_path, 'rb') as f:
status = …
Run Code Online (Sandbox Code Playgroud)