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是否一致来确定响应是否有效。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在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))
其中涉及的关键组件包括:
:
)前后无空格。\n
)。 目前唯一必需的规范化OTS Header是x-ots-date
,指示Table Store响应的时间,格式为RFC1123(如:Mon, 3 Jan 2010 08:33:47 GMT
)。重要步骤与注意事项:
x-ots-date
的时间格式正确无误,这是计算签名时不可或缺的一部分。通过遵循这些详细步骤和注意事项,您可以有效地验证Table Store响应的签名,确保数据的安全性和完整性。