腾讯【COS】对象存储的临时密钥与签名

3,962 阅读1分钟
在学习腾讯COS对象存储时,被 临时密钥和签名所困扰,不能正确的区分,后来通过研究发现两者是不同的。特转载来一篇文档详细介绍区分:cloud.tencent.com/developer/a… 


cos-js-sdk-v5链接:github.com/tencentyun/…

对象存储cos-js-sdk-v5上传文件有两种方式:

1.使用临时密钥(tmpSecretId/tmpSecretKey/sessionToken):调用STS接口生成临时密钥,后续还需要使用临时密钥生成临时签名,然后执行上传文件操作。

临时密钥格式:

{
"code": 0,
"message": "",
"codeDesc": "Success",
"data": {
"credentials": {
"sessionToken": "8df6fa056787483c7332ca66c045c04236d52fa030001",
"tmpSecretId": "AKIDtH0qYRe2mq87c7EMK0HEbkDrMFjEHsig",
"tmpSecretKey": "EpOp2GiG3yEF3NFcdqC5mrRjZaFe1g1z"
},
"expiredTime": 1537434926
}
}

2.使用临时签名(Authorization/XCosSecurityToken):省略调用STS接口的步骤,可以直接执行上传文件操作。

临时签名格式:

{
"Authorization": "q-sign-algorithm=sha1&q-ak=AKIDtH0qYRe2mq87c7EMK0HEbkDrMFjEHsig&q-sign-time=1537433151;1537433751&q-key-time=1537433151;1537433751&q-header-list=&q-url-param-list=&q-signature=4f354f917332971161c9f17fa1d8f4fbb7b277f4",
"XCosSecurityToken": "8df6fa056787483c7332ca66c045c04236d52fa030001"
}

图1为临时密钥(tmpSecretId/tmpSecretKey/sessionToken)。

图1

图2为临时签名(Authorization/XCosSecurityToken)。


图2


转载:https://cloud.tencent.com/developer/article/1345139?from=10680