大家好:
我在开发c的oss api,签名算法有个疑问,请大侠帮忙。
在api文档里,有这样一段描述:
content-type 和 content-md5 在请求中不是必须的,
但是如果请求需要签名
验证,空值的话以回车符代替。
我的问题是,我要调用GetService(ListBuckets),这时content-type和content-md5就是不必须的,那除了分隔符\n以外,还要加一个\n是嘛?
报文如下:
* About to connect() to storage.aliyun.com port 80 (#0)
* Trying 110.75.169.239... * connected
> GET / HTTP/1.1
Host: storage.aliyun.com
Accept: */*
Date:Fri, 07 Sep 2012 01:45:20 GMT
Authorization:OSS 3z4om38nk29w60axe69khvqg:PPbDhhsMQLiQ8zXin3EItzJCWBg=
< HTTP/1.1 403 Forbidden
< Date: Fri, 07 Sep 2012 01:45:20 GMT
< Content-Type: application/xml
< Connection: close
< Content-Length: 668
< Server: AliyunOSS
< x-oss-request-id: 504951B0ACD33BA4412B2A9F
<
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>SignatureDoesNotMatch</Code>
<Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message>
<StringToSignBytes>47 45 54 0A 0A 0A 46 72 69 2C 20 30 37 20 53 65 70 20 32 30 31 32 20 30 31 3A 34 35 3A 32 30 20 47 4D 54 0A 2F </StringToSignBytes>
<SignatureProvided>PPbDhhsMQLiQ8zXin3EItzJCWBg=</SignatureProvided>
<StringToSign>GET
Fri, 07 Sep 2012 01:45:20 GMT
/</StringToSign>
<OSSAccessKeyId>3z4om38nk29w60axe69khvqg</OSSAccessKeyId>
<RequestId>504951B0ACD33BA4412B2A9F</RequestId>
<HostId>storage.aliyun.com</HostId>
</Error>
* Closing connection #0
-------------------------
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。