【发布时间】:2023-01-25 23:13:32
【问题描述】:
与来自 aws 控制台的预签名 url 相比,从该方法生成的 url 是不同的
来自 C# 方法 https://bucket.s3.amazonaws.com/key?AWSAccessKeyId=xxxxxx&Expires=1642609317&Signature=xxxxx
c#链接不工作
从 AWS 控制台:
包版本使用
<PackageReference Include="AWSSDK.Core" Version="3.7.6" />
<PackageReference Include="AWSSDK.S3" Version="3.7.7.14" />
在包中可用的算法
namespace Amazon.Runtime
{
//
// Summary:
// The valid hashing algorithm supported by the sdk for request signing.
public enum SigningAlgorithm
{
HmacSHA1 = 0,
HmacSHA256 = 1
}
}
【问题讨论】:
-
你有问题吗? C# SDK 使用的是 AWS4-HMAC-SHA256,这是个问题吗?
-
@AnonCoward,我正在尝试从 C# 代码生成一个预签名的 url,当访问它时,显示使用此 AWS4-HMAC-SHA256 进行签名的错误。使用最新的 AWS sdk 我找不到那个算法。然后我尝试从控制台生成,生成的链接与 SDK 不同。我想从有效的 AWS SDK 创建预签名链接
-
那么你想使用“HmacSHA256”。
-
@Vman 你弄明白了吗?我有一个类似的问题 - C# 客户端、2 个环境、相同的代码。一个生成 AWS4-HMAC-SHA256 并运行,另一个不运行并失败
标签: c# amazon-web-services amazon-s3 .net-core aws-sdk-net