使用AK调用API: GET 请求带 queryparam 报错: wrong accessKey signature
wanglong001 opened this issue · comments
版本:4.4.16 c76
cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
签名方法是根据这个脚本写的
#/usr/bin/python
import base64
import hmac
import sha
import argparse
from hashlib import sha1
parser = argparse.ArgumentParser(description='calculate zstack access key digit.')
parser.add_argument('acesskey_id')
parser.add_argument('acesskey_secret')
parser.add_argument('method')
parser.add_argument('date')
parser.add_argument('uri')
args = parser.parse_args()
print "args: %s" % args
h = hmac.new(args.acesskey_secret, args.method + "\n"
+ args.date + "\n"
+ args.uri, sha1)
Signature = base64.b64encode(h.digest())
print "Signature: %s" % Signature
print "Authoration %s" % ("ZStack " + args.acesskey_id + ":" + Signature)
GET 请求在不带参数下可以调用成功
带参数就回报签名错误:
错误: 403 wrong accessKey signature