KS3签名工具

最近更新时间:2022-09-15 16:59:12

查看PDF

功能介绍

KS3签名工具可用于生成请求签名。您可以在工具页面上填入指定的参数,生成请求签名,以及校验请求签名的正确性,与您计算出的签名作对比,快速定位错误。KS3签名工具为您提供V2和V4两种签名计算方式。

工具地址

V2签名

V4签名

使用方法

V2通过HTTP请求头发送签名示例

1)根据请求类型选择对应的签名计算方式
2)输入密钥信息

在 “密钥信息” 栏中,填写您的密钥信息。如下图所示:

密钥中的信息均为必填项,填写时请确保该信息的准确性,填写错误将导致您的签名被视为无效签名。API密钥的参数信息获取可参考https://docs.ksyun.com/documents/883

3)输入请求参数信息

主要参数如下表所示:

参数名称 是否必填 描述
HTTP-Verb HTTP 请求方法,包括 GET,POST,PUT,DELETE,OPTIONS,HEAD
Date 请求发起的时间,日期格式:Wed, 11 May 2022 06:25:19 GMT
资源路径 路径以 /bucketName 开头,如:/bucketName 、 /bucketName/b
SubResource 例如:“acl”,“lifecycle”按照字典从小到大排列,以&为分隔符排列
Endpoint 若需生成对应请求,Endpoint则为必填项

相关 HTTP 请求参数的详细描述,请参见文档末尾的参数名称详解表。

4)生成签名及查阅过程参数

单击生成签名,即可在右侧查看请求签名结果。如下图所示:

KS3签名工具将分别展示生成的最终签名及计算签名过程中的过程参数。相关过程参数的详细介绍,请参见签名文档:https://docs.ksyun.com/documents/2321

KS3签名工具同时提供生成发送请求curl命令,可通过复制直接使用终端进行请求:

V2通过Post Policy发送签名示例

主要参数如下表所示:

参数名称 是否必填 描述
SecretAccessKey 用于验证用户的密钥
当前时间戳 请求发起的时间,填写自UTC时间1970年01月01号开始的秒数
超时时间 超过该时间请求失败,单位为秒
Conditions Policy文档中对上传内容的验证条件。您在表单中指定的每个表单字段(KSSAccessKeyId、Signature、file、policy除外)以及bucket必须包含在条件列表中。详情请参见Post Policy文档

单击显示Policy文档生成V2签名结果,如下图所示:

Expiration:采用 ISO 8601 UTC 日期格式来指定策略的过期日期,即只能在指定时间之前进行上传,在这个时间之后的上传都将被认为是非法的,KS3将返回403。

如需生成对应curl命令发送请求,请填写表单参数 AccessKey、file、Endpoint:

file为待上传文件的本地绝对路径
可直接复制请求,使用终端发送

V4通过HTTP请求头发送签名示例

1)根据请求类型选择对应的签名计算方式
2)输入密钥信息

在 “密钥信息” 栏中,填写您的密钥信息。如下图所示:

密钥中的信息均为必填项,填写时请确保该信息的准确性,填写错误将导致您的签名被视为无效签名。API密钥的参数信息获取可参考https://docs.ksyun.com/documents/883

3)输入请求参数信息

主要参数如下表所示:

参数名称 是否必填 描述
HTTPMethod HTTP 请求方法,包括 GET,POST,PUT,DELETE,OPTIONS,HEAD
Date 请求发起的时间,日期格式:2022-07-18 11:21:35
资源路径 路径以 /bucketName 开头,如:/bucketName 、 /bucketName/b
SubResource 例如:“acl”,“lifecycle”按照字典从小到大排列,以&为分隔符排列
Endpoint 若需生成对应请求,Endpoint则为必填项

相关 HTTP 请求参数的详细描述,请参见文档末尾的参数名称详解表。

4)生成签名及查阅过程参数

单击生成签名,即可在右侧查看请求签名结果。如下图所示:

KS3签名工具将分别展示生成的最终签名及计算签名过程中的过程参数。相关过程参数的详细介绍,请参见签名文档:https://docs.ksyun.com/documents/6890

KS3签名工具同时提供生成发送请求curl命令,可通过复制直接使用终端进行请求:

V4通过Post Policy发送签名示例

主要参数如下表所示:

参数名称 是否必填 描述
AccessKey 用于标识用户
SecretAccessKey 用于验证用户的密钥
当前时间戳 请求发起的时间,填写自UTC时间1970年01月01号开始的秒数
超时时间 超过该时间请求失败,单位为秒
Endpoint 访问域名
Conditions Policy文档中对上传内容的验证条件。您在表单中指定的每个表单字段(KSSAccessKeyId、Signature、file、policy除外)以及bucket必须包含在条件列表中。详情请参见Post Policy文档

单击显示Policy文档生成V4签名Policy必填表单项、Policy文档及签名:

Expiration:采用 ISO 8601 UTC 日期格式来指定策略的过期日期,即只能在指定时间之前进行上传,在这个时间之后的上传都将被认为是非法的,KS3将返回403。

V4签名存在特殊必填表单项,KS3签名工具自动为您计算并添加,详细描述请参见文档末尾特殊表单项表。

生成对应请求

file为待上传文件的本地绝对路径
可直接复制请求,使用终端发送

参数名称详解

参数名称 描述 示例
资源路径 bucketname + key bucket/ddd/xxx
SubResource “acl”,“lifecycle”,“location”,“logging”,“partNumber”,“policy”,“uploadId”,“uploads”,“cors”, “restore”, "tagging, “crr”, “mirror”,“response-content-type”,“response-content-language”,“response-expires”,“response-cache-control”,“response-content-disposition”,“response-content-encoding” 按照字典序,从小到大排列,以&为分隔符排列,即可得到SubResource acl
partNumber=xxx
partNumber={PartNumber}&uploadId={UploadId}
CanonicalizedKssHeaders 所有以x-kss-开头的请求头 x-kss-copy-source:/xxx-test/57M.pdf&x-kss-metadata-directive:COPY&x-kss-storage-class:STANDARD_IA
HttpParameters URI的绝对路径,以域名后面的“?”开头,除SubResource内包含的值外,直到字符串的末尾截止 max-keys=xxxxxx&prefix=abc
file 本地文件的绝对路径 /Users/xxxx/Desktop/fileName
Headers 除"Content-TYPE" , “Content-Length”, “x-kss-content-sha256”, “Authorization” 外的所有请求头 x-kss-storage-class: STANDARD&Range:bytes=0-4
x-kss-content-sha256 有效值:HexEncode(Sha256Hash(RequestPayload)) UNSIGNED-PAYLOAD STREAMING-AWS4-HMAC-SHA256-PAYLOAD
HexEncode(Sha256Hash(RequestPayload)):请求体经过哈希处理的以小写十六进制字符串表示形式
UNSIGNED-PAYLOAD:忽略请求正文的哈希校验
STREAMING-AWS4-HMAC-SHA256-PAYLOAD:chunk传输校验,暂不支持
x-kss-content-sha256:UNSIGNED-PAYLOAD

V4 Policy签名特殊表单项

V4签名计算时所有请求头必须参与计算,且V4请求必传"x-kss-content-sha256"、“Host”、“x-kss-date”请求头,KS3签名工具自动为您添加并参与计算。

V4表单中包含签名需特殊表单项,且必须为精确匹配。生成policy文档时,KS3签名工具已自动为您添加以下特殊表单项:

特殊表单项 描述
x-kss-algorithm 签名算法: KSS4-HMAC-SHA256
x-kss-credential 签名范围:格式为<your-access-key-id>/<date>/<KS3-region>/<KS3>/kss4_request
x-kss-date 请求时间:时间格式为 yyyyMMddTHHmmssZ (X-Kss-Date<=now+15m) 请求的时间戳不能大于(服务器时间戳+15m)

Condition匹配规则

匹配规则 描述
精准匹配 指定acl必须等于public-read。[“acl”: “public-read”]或者[“eq”, “$acl”, “public-read”]
Starts with 指定key必须以2015/01/开头。[“starts-with”, “$key”, “2015/01/”]
通配 指定success_action_redirect可以是任意值(注意:success_action_status不支持通配)。[“starts-with”, “$success_action_redirect”, “”]
指定Content-Length范围 指定上传内容(不止是文件,还有其他表单项)Content-Length的范围为1048579-10485760。[“content-length-range”, 1048579, 10485760]

文档内容是否对您有帮助?

根本没帮助
文档较差
文档一般
文档不错
文档很好

在文档使用中是否遇到以下问题

内容不全,不深入
内容更新不及时
描述不清晰,比较混乱
系统或功能太复杂,缺乏足够的引导
内容冗长

更多建议

0/200

评价建议不能为空

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

问题反馈