认证与签名
UVP 使用 HMAC-SHA256 验证机器客户端请求。每个请求都必须使用新的时间戳和 Nonce 重新签名。
必需请求头
| 请求头 | 格式 |
|---|---|
X-UVP-Sign-Version | 固定为 1 |
X-UVP-Access-Key | 创建客户端时生成的 AK |
X-UVP-Timestamp | Unix 秒,允许误差不超过 300 秒 |
X-UVP-Nonce | 16 随机字节的小写十六进制,共 32 位 |
X-UVP-Signature | HMAC-SHA256 小写十六进制,共 64 位 |
Canonical Request
签名原文严格由 11 行组成,行分隔符为 LF,最后一行后面不能再加换行。
text
UVP-HMAC-SHA256/1
<AK>
<Timestamp>
<Nonce>
<UPPERCASE HTTP Method>
<CanonicalPath>
<CanonicalQuery, possibly empty>
<ContentType: application/json or empty>
<BodySHA256, lowercase hexadecimal>
<Idempotency-Key, or empty>
<ServiceAudience>不要直接使用 SK 文本签名
SK 是无填充的 Base64URL 字符串。必须先解码为 32 字节密钥,再执行 HMAC-SHA256。
详细查询串规范、Body Hash 和幂等规则见请求约定。