小编Eri*_*tin的帖子

如何在Python中的AWS Lambda函数中正确解密PGP加密文件?

我正在尝试用 python 创建一个 AWS Lambda:

  1. 从 S3 存储桶下载压缩和加密的文件
  2. 使用解密文件python-gnupg
  3. 将解密的压缩内容存储在另一个S3存储桶中

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)

gnupg pgp python-3.x aws-lambda python-gnupgp

2
推荐指数
1
解决办法
3105
查看次数

标签 统计

aws-lambda ×1

gnupg ×1

pgp ×1

python-3.x ×1

python-gnupgp ×1