使用请求参数构造规范的请求字符串(QueryParam)。 使用上一步构造的规范字符串,按照以下规则构造用于计算签名的字符串。
Signature=HMAC-SHA1(QueryParam)
说明 对于不同的请求,QueryParam 会不同。 按照 RFC2104 的定义,使用上一步构造的用于签名的字符串来计算签名 HMAC 值。
说明 计算签名时使用的 Key 就是您持有的 AccessKeySecret(ASCII:38),使用的哈希算法是 SHA1。 按照 Base64 编码规则将上一步算出的 HMAC 值编码成字符串,即得到签名值(Signature)。 将上一步得到的签名值作为 Signature 参数添加到请求参数中,即完成对请求的签名处理。 示例代码 以下示例代码展示了如何以 Shell 构造 ACM 请求。
#!/bin/bash
dataId="com.alibaba.nacos.example.properties" group="DEFAULT_GROUP" namespace="04754ad1-4f67-4d67-b2bf-1f73a04a****" accessKey="8c5cbb849ae04682ad9f455a96aa****" secretKey="lwO5T7vfPJu27FclPa+/CyIG****" endpoint="acm.aliyun.com"
serverIp=curl $endpoint:8080/diamond-server/diamond -s | awk '{a[NR]=$0}END{srand();i=int(rand()*NR+1);print a[i]}'
timestamp=echo $[$(date +%s%N)/1000000]
signStr=$namespace+$group+$timestamp signContent=echo -n $signStr | openssl dgst -hmac $secretKey -sha1 -binary | base64
curl -H "Spas-AccessKey:"$accessKey -H "timeStamp:"$timestamp -H "Spas-Signature:"$signContent "http://"$serv
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。