开发者社区> 问答> 正文

SLBsignature计算问题求助

我使用的是Delphi,SLB signature 计算代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
  S, U: String;
  L: TStringList;
  I: Integer;
begin
  L := TStringList.Create;
  try
    L.Add( 'AccessKeyId=aaaaaaaa');
    L.Add( 'Action=DescribeLoadBalancers');
    L.Add( 'RegionId=cn-east-hangzhou-01');
    L.Add( 'SignatureMethod=HMAC-SHA1');
    L.Add( 'LoadBalancerId=bbbbbbbbbbb');
    L.Add( 'SignatureNonce=' + LowerCase(dxMakeGUID));
    L.Add( 'Version=2014-05-15');
    L.Add( 'SignatureVersion=1.0');
    L.Add( 'TimeStamp=' + _UTCTime);
    L.Sorted := True; //这里排序
    S := '';
    U := '';
    for I := 0 to L.Count - 1 do
    begin
      if S <> '' then
      begin
        S := S + '&';
        U := U + '&';
      end;
      S := S + L;
      U := U + L.Names + '=' + HTTPEncode(L.ValueFromIndex);
    end;
    S := HTTPEncode(S);
    S := StringReplace(S, '%7E', '~', [rfReplaceAll]);
    S := StringReplace(S, '/', '%2F', [rfReplaceAll]);
    S := StringReplace(S, '+', '%20', [rfReplaceAll]);
    S := StringReplace(S, '*', '%2A', [rfReplaceAll]);
    S :=   'GET&%2F&'+ S;
    S := HMAC_Base64( 'cccccccccc&', S);
    Memo1.Lines.Text := 'http://slb.aliyuncs.com/?' + U + '&Signature=' +  HTTPAPP.HTTPEncode(S);
  finally
    L.Free;
  end;
end;
我怎么得出的值都不对,返回错误信息为” The request signature does not conform to Aliyun standards.“,
其中 HMAC_Base64('xxx&', 'aabbcc')为"lJXHNIeUWE0/g9+jZRD5WhSa3sI="(key为xxx&,信息为aabbcc)

请大家帮忙看看是我的HMAC_Base64计算的值的问题呢还是我参数的问题

展开
收起
glaciersoft 2015-10-11 14:40:16 5456 0
3 条回答
写回答
取消 提交回答
  • 码农|Coder| Pythonista
    您好
    根据API手册,和您目前使用的方法和生成的签名有差别。
    您可以看下 https://docs.aliyun.com/?spm=5176.383633.9.11.XCQhqC#/pub/slb/api-reference/call-method&signature
    2015-10-12 03:42:45
    赞同 展开评论 打赏
  • 回1楼鬼才神兵的帖子
    关键是我对比SLB ECS还有其他地方的HMAC SHA1算法的地方的示例,我的HMAC_Base64函数返回的结构和这几个地方都不一致,但是我的算法和在线加密里的结果又是一致的
    2015-10-11 14:50:28
    赞同 展开评论 打赏
  • 阿里云论坛版主,伪Linux运维,完美主义者。
    请求的签名不符合阿里云标准!
    这个请SLB的大神出面给你解答吧!
    2015-10-11 14:46:15
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
新量⼦⾰命与量⼦计算 立即下载
函数计算事件驱动的无服务器计算服务 立即下载
图计算及其应用 立即下载