使用查询参数验证 生成签名的示例 通过创建预签名URL的方式,与其他人共享examplebucket中test.txt文件,过期时间设置为7天(604800秒)。以GET请求为例: GET ?XAmzAlgorithmAWS4HMACSHA256 &XAmzCredential2a948fd3f00ba0925806/20240906/cn/s3/aws4request&XAmzDate20240906T235141Z&XAmzExpires604800 &XAmzSignedHeadershost &XAmzSignature 以下步骤首先说明如何计算签名和构建预签名URL。示例中使用的访问密钥如下: 参数 值 AccessKeyID 2a948fd3f00ba0925806 SecretAccessKey ef2017c2e5ffa0b1761717ecbca021da16501384 1. StringToSign 1. 创建规范请求(以GET请求为例) GET /examplebucket/test.txt XAmzAlgorithmAWS4HMACSHA256&XAmzCredential2a948fd3f00ba0925806%2F20240906%2Fcn%2Fs3%2Faws4request&XAmzDate20240906T235141Z&XAmzExpires604800&XAmzSignedHeadershost host:ooscn.ctyunapi.cn host UNSIGNEDPAYLOAD 2. 待签名字符串 AWS4HMACSHA256 20240906T235141Z 20240906/cn/s3/aws4request 9e0b6407d893f03ea8ed79710b98a0b19bf9060b744f0e14212f32d1ac04ba62 2. StringKey signing key HMACSHA256(HMACSHA256(HMACSHA256(HMACSHA256("AWS4" + " ","20240906"),"cn"),"s3"),"aws4request") 3. 签名 66628b60cb4cc78d37c76b204d6a019572ed3887d84488c72f0643d850ad4915 4. 将签名信息添加到请求头