ZBLOG

SIGNATURE如何生产

生成签名字符串 SIGNATURE 的具体步骤如下:

  1. 将请求的方法和URI路径,例如 GET /v2/library/nginx/blobs/sha256:8af6e8f9fa3b4cbbda5c28a49c8795bcac0f7a58d8a4d83adec4107223ccbf06 ,进行 URL 编码,并在前面加上换行符(\n),得到规范化的请求字符串。

  2. 获取当前时间戳,并将其转换成以 ISO8601 标准格式表示的日期字符串,例如 2021-03-25T12:00:00Z 。

  3. 将规范化的请求字符串和日期字符串以及以下 HTTP 请求头参数按字典序排序,然后将它们拼接起来:

  1. accept:application/vnd.docker.distribution.manifest.v2+json
  2. content-length:0
  3. content-type:
  4. date:${time}
  5. host:${registry_host}
  6. x-acs-action:
  7. x-acs-region-id:

其中 ${time} 表示上一步中获取到的日期字符串,${registry_host} 表示您使用的 Registry 的域名或 IP 地址。注意这里不需要换行符(\n)。

  1. 使用 HMAC-SHA256 算法计算第三步中拼接出来的字符串的签名,使用 Access Key Secret 作为密钥。计算出来的签名值即为签名字符串 SIGNATURE

最后,在下载时将 SIGNATURE 拼接到 Authorization 请求头中即可完成访问授权。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=2823

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?