当前位置: 首页 > 知识库问答 >
问题:

以编程方式解除对aws s3文件的加密

锺离阿苏
2023-03-14

这会弹出以下窗口

我已经尝试过添加这里提到的权限。还用python boto3做了一些实验。然而,到目前为止没有取得任何成功。提前谢谢!

共有1个答案

姬昊焱
2023-03-14

好吧,我有个解决办法。创建encypted(服务器端aws kms)工件并将其上传到s3(作为aws代码构建的一部分)后,使用'ACL':'public-read'创建文件副本。以下是步骤:

s3 = boto3.resource('s3',aws_access_key_id='<YOUR ACCESS KEY>', aws_secret_access_key='<YOUR SECRET ACCESS KEY>', region_name = 'ap-southeast-1', config=Config(signature_version='s3v4'))

config=config(signature_version='s3v4')部分是访问加密文件的诀窍。

copy_source = {'Bucket': 'SOURCE BUCKET','Key':'test/app-debug.apk'}
s3.meta.client.copy(copy_source, 'DESTINATION BUCKET', 'app-debug.apk', {'ACL':'public-read'})

从S3中,您将获得一个可下载的URL。

或者,您可以直接从加密的S3项目获取可下载链接,而无需将其复制到另一个存储桶。然而,问题是s3v4加密的最长有效期为7天。所以链接最多只能工作7天。以下是相同的步骤:

  1. s3_client=boto3.client('s3',aws_access_key_id='

 类似资料:
  • 我在弄清楚如何正确读取pem文件的私钥方面遇到了困难。我已经在stackoverflow上浏览了不同的主题,但是我找不到解决方案。我想实现的是从类路径中读取pkcs#8编码文件中的加密私钥,并将其作为内存密钥存储库中的密钥条目加载。下面是我试图解析的一个示例私钥,密码是。它纯粹是为了共享而创建的,所以它不是生产机器上使用的私钥。 我使用以下命令从p12文件创建了它: 有效示例(一次性)密钥对 我知

  • 问题内容: 我想以编程方式从应用程序中加载Log4j2 XML配置文件。 试过这个: 还有这个: 但是什么都没有。 问题答案: 自己找到答案。有人可能会觉得有用。

  • 如果文件在类路径上,这就是我加载application.properties的方式。 我们正在尝试部署应用程序,其中属性文件存储在外部的Google Cloud bucket(GCS)上。我可以从GCS加载属性文件并将其保存在内存中。如何将属性传递给应用程序上下文并重写从类路径加载的属性?

  • 我一直在使用以下代码以编程方式合并加密的pdf文件。 最近,我在试图创建pdfReader时,在下面这行代码中发现了这个错误: com.itextpdf.text.exceptions。无效PdfException:未知加密类型R=6,位于com.itextpdf.text.pdf.PdfReader.readPdf(PdfReaders.java:738位于android.os.Handler.

  • 我正在尝试在Android上添加Wifi网络,我想知道如何连接到不广播其SSID的Wifi网络(它是否有空SSID或带有\0s的清晰SSID)。 这是我目前用于广播其SSID的Wifi网络的内容:

  • 问题内容: 我在4.4.2上,尝试通过uri删除文件(图像)。这是我的代码: 目前,这些删除功能均未真正删除文件。我的AndroidManifest.xml中也有此代码: 问题答案: 您为什么不使用以下代码对此进行测试: 我认为问题的一部分是您永远不要尝试删除文件,而只是创建一个具有方法调用的变量。 因此,在您的情况下,您可以尝试: 但是我认为这有点过分。 您添加了一条注释,说明您正在使用外部目录