【问题标题】:Generate pre-signed url for S3 client-side encrypted file to view/open为 S3 客户端加密文件生成预签名 url 以查看/打开
【发布时间】:2018-01-17 10:24:10
【问题描述】:

在 Windows 上使用 AWS-C++ SDK,我正在使用客户端加密 (AWS KMS) 上传对象(mp4 文件)并为其生成预签名的 url。上传工作正常,但生成的预签名网址无法播放。它似乎试图播放加密数据。

我也试过txt文件,但是打开url时它会下载加密文件。

如果我使用服务器端加密,则 url 有效。

我想使用客户端加密来保护传输中的数据并创建一个显示/播放未加密文件的预签名 URL。这可能吗? 有没有办法播放加密的mp4文件?

请提出建议。

谢谢, R.

【问题讨论】:

    标签: c++ amazon-web-services encryption amazon-s3


    【解决方案1】:

    预签名 URL 将完全按照上传到 S3 的方式检索文件。

    由于 S3 服务器端看到数据已经加密(因为它是在客户端加密的),它返回相同的加密数据。

    如果您的数据在客户端加密,您必须在使用预签名 URL 下载数据后解密数据。

    浏览器本身不会为您执行此操作。您需要自己处理解密。

    如果您确保使用 HTTPS 进行上传和下载,那么您无需担心在传输过程中对数据进行加密,因为它将在传输级别进行加密。您可以向 S3 存储桶添加存储桶策略,以确保仅使用 HTTPS 来读取/写入数据。

    【讨论】:

      【解决方案2】:

      是的,如果您只是从 S3 下载文件,它仍然是加密的。您不能简单地向您的用户显示预签名的 URL,因为他们的浏览器将无法解密该文件。

      您可以创建一个播放按钮。单击该按钮后,它将下载文件、解密(使用 SDK 的 KMS 部分)并开始播放。

      这里是an example in the .NET SDK。我在 C++ SDK 中找不到任何参考资料,它的文档似乎很差。

      【讨论】:

        猜你喜欢
        • 2021-11-27
        • 2020-04-22
        • 2021-12-28
        • 1970-01-01
        • 2020-06-06
        • 1970-01-01
        • 1970-01-01
        • 2016-12-14
        • 1970-01-01
        相关资源
        最近更新 更多