开发者社区 问答 正文

表格存储Table Store-Response签名


Response 签名
Response的签名包含在HTTP的header中的Authorization段,表明这个响应被授权。这个Header的样例如下:
Authorization:OTS44CF9590006BF252F707:jZNOcbfWmD/A/f3hSvVzXZjM2HU=

在该头中用冒号隔开的两个值分别为用户的AccessID和签名。验证码计算方法如下:
“Authorization:   OTS “ + AccessID + “:” + base64(hmac-sha1(
                   + CONTENT-MD5 + “\n”
                   + CONTENT-TYPE + “\n”
                   + CanonicalizedOTSHeaders
                   + CanonicalizedResource
                   , AccessKey))

如上所示,Table Store响应的签名的Header包括Content-Md5, Content-Type, 规范化OTSHeader(CanonicalizedOTSHeaders),规范化Table Store资源地址(CanonicalizedResource)。其中必选的Header为Content-Type和Content-MD5,每个Header之后都需要加上回车符,如果没有规范化OTSHeader,则忽略。规范化OTS头为所有以"x-ots-"为前缀的头,在对规范化OTSHeader签名时需要遵循以下规则:

1.Header名字小写
2.Header按名字的字母序从小到大顺序排列
3.分割Header名和值的冒号前后不能有空格
4.每个Header之后都有换行(‘\n’)
5.如果没有规范化OTS Header,则为空。
6.目前版本中有唯一的规范化OTS头,为x-ots-date。表示Table Store给出Response的时间。时间格式为:%a, %d %b %Y %H:%M:%S GMT (如:Mon,      3 Jan 2010 08:33:47 GMT)

用户可以选择使用相同的方式计算签名,并通过比较计算出的Signature和Table Store提供的Signature是否一致来确定响应是否有效。

展开
收起
云栖大讲堂 2017-10-26 10:50:50 2096 分享 版权
阿里云 AI 助理回答

在Table Store服务中,响应的签名位于HTTP头部的Authorization字段,其格式为:

Authorization: OTS44CF9590006BF252F707:jZNOcbfWmD/A/f3hSvVzXZjM2HU=

此格式中,冒号前的部分代表用户的AccessID,之后则是计算出的签名值。响应签名的计算方法基于HMAC-SHA1算法,并通过Base64编码,具体计算公式如下:

base64(hmac-sha1(
    CONTENT-MD5 + "\n" +
    CONTENT-TYPE + "\n" +
    CanonicalizedOTSHeaders +
    CanonicalizedResource,
    AccessKey))

其中涉及的关键组件包括:

  • Content-MD5: 请求内容的MD5摘要,用于数据完整性校验,以Base64编码形式表示。
  • Content-Type: 响应内容的MIME类型。
  • CanonicalizedOTSHeaders: 所有以"x-ots-"为前缀的响应头,需按规则规范化,包括:
    1. 名字转换为小写。
    2. 按名字字母顺序排序。
    3. 冒号(:)前后无空格。
    4. 每个Header后跟换行符(\n)。 目前唯一必需的规范化OTS Header是x-ots-date,指示Table Store响应的时间,格式为RFC1123(如:Mon, 3 Jan 2010 08:33:47 GMT)。

重要步骤与注意事项

  1. 规范化处理:确保所有参与签名计算的头部信息均按照规范进行处理,特别是规范化OTS Headers的规则。
  2. 时间格式验证:确认x-ots-date的时间格式正确无误,这是计算签名时不可或缺的一部分。
  3. 签名验证:用户可自行采用上述方法计算Signature并与Table Store响应中的Signature对比,一致则表明响应有效,增强安全性验证。

通过遵循这些详细步骤和注意事项,您可以有效地验证Table Store响应的签名,确保数据的安全性和完整性。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: