【问题标题】:How can I set signature to v2 by using AWS S3 C++ SDK如何使用 AWS S3 C++ SDK 将签名设置为 v2
【发布时间】:2017-06-02 09:29:11
【问题描述】:

我必须将AWS S3 C++ SDK设置为使用signature_v2,我知道如何在PHP SDK中设置,但我没有在C++ SDK中找到方法。有人知道吗,谢谢!

【问题讨论】:

  • 为什么需要 V2?所有地区的所有服务都应该支持V4,所以……你想解决什么问题?
  • 因为我们使用的是兼容S3的第三方服务,现在只支持签名版本2。
  • @cnwalker,签名者是可注入的。如果您愿意,可以创建一个 sigv2 签名者并将其注入 s3 客户端构造函数。不过,更好的做法是更新第三方服务,因为 sigv2 不安全,并且正在被亚马逊弃用。

标签: amazon-s3 aws-sdk aws-sdk-cpp


【解决方案1】:

签名版本 2 已被弃用,取而代之的是更安全的版本 4。我们不支持它,其他 SDK 支持它的唯一原因是为了向后兼容。对于 Amazon S3,您可以关闭 v4 的正文签名。这是 C++ SDK 中 S3 客户端的默认选项。

【讨论】:

  • Commit github.com/aws/aws-sdk-cpp/commit/… 从 c++ sdk 中移除(工作?)V2 签名的实现。
  • @Étienne 几年前我在开发 SDK 原型时写了一个,因为到处都在过渡到 sigv4,而且当时我不在 AWS SDKs 团队,我不知道它是正在发生。在我们使用 Developer Preview 之前,我们将其删除,因为我们不希望客户使用它(如果他们还没有使用的话)。 FWIW,该代码从未针对实时服务进行实际测试。
  • 确实,我必须对其进行更改才能使其正常工作。我提交了pull request,即使我知道亚马逊不喜欢在 SDK 中包含这个已弃用的流程。
猜你喜欢
  • 2020-05-20
  • 2021-06-06
  • 2014-10-11
  • 2013-09-25
  • 2015-04-18
  • 1970-01-01
  • 2018-10-11
  • 2020-08-08
  • 2017-10-09
相关资源
最近更新 更多