应用配置管理 ACM的签名处理步骤是什么?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

应用配置管理 ACM的签名处理步骤是什么?

保持可爱mmm 2020-03-28 18:57:48 129

应用配置管理 ACM的签名处理步骤是什么?

分享到
取消 提交回答
全部回答(1)
  • 保持可爱mmm
    2020-03-28 18:58:18

    使用请求参数构造规范的请求字符串(QueryParam)。 使用上一步构造的规范字符串,按照以下规则构造用于计算签名的字符串。

    Signature=HMAC-SHA1(QueryParam)

    说明 对于不同的请求,QueryParam 会不同。 按照 RFC2104 的定义,使用上一步构造的用于签名的字符串来计算签名 HMAC 值。

    说明 计算签名时使用的 Key 就是您持有的 AccessKeySecret(ASCII:38),使用的哈希算法是 SHA1。 按照 Base64 编码规则将上一步算出的 HMAC 值编码成字符串,即得到签名值(Signature)。 将上一步得到的签名值作为 Signature 参数添加到请求参数中,即完成对请求的签名处理。 示例代码 以下示例代码展示了如何以 Shell 构造 ACM 请求。

    #!/bin/bash

    config param

    dataId="com.alibaba.nacos.example.properties" group="DEFAULT_GROUP" namespace="04754ad1-4f67-4d67-b2bf-1f73a04a****" accessKey="8c5cbb849ae04682ad9f455a96aa****" secretKey="lwO5T7vfPJu27FclPa+/CyIG****" endpoint="acm.aliyun.com"

    config param end

    get serverIp from address server

    serverIp=curl $endpoint:8080/diamond-server/diamond -s | awk '{a[NR]=$0}END{srand();i=int(rand()*NR+1);print a[i]}'

    config sign

    timestamp=echo $[$(date +%s%N)/1000000] signStr=$namespace+$group+$timestamp signContent=echo -n $signStr | openssl dgst -hmac $secretKey -sha1 -binary | base64

    request to get a config

    curl -H "Spas-AccessKey:"$accessKey -H "timeStamp:"$timestamp -H "Spas-Signature:"$signContent "http://"$serv

    0 0
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章