认证鉴权(1) 步骤2:构造动态密钥 使用 HMACSHA256 算法,进行链式计算,生成动态密钥。HMACSHA256(key, data) 表示使用密钥 key 对数据 data 进行 HMACSHA256 计算。 plaintext ktime HMACSHA256(ctyuneopsk, eopdate) kAk HMACSHA256(ktime, ctyuneopak) kdate HMACSHA256(kAk, eopdate的前8位日期) 步骤3:计算最终签名 plaintext signature Base64(HMACSHA256(kdate, 待签名字符串)) 步骤4:构造授权头 plaintext EopAuthorization: {ctyuneopak} headers{参与签名的header列表} Signature{signature} 三、完整请求示例 plaintext GET HTTP/1.1 Host: eopdate: 20211221T163614Z ctyuneoprequestid: 123456789 EopAuthorization: ctyuneopak headersctyuneoprequestid;eopdate Signaturexad01/ada 四、关键要点 时间格式 :eopdate必须为YYYYMMDDTHHMMSSZ格式(如:20211221T163614Z)。注意计算kdate时,只使用eopdate的前8位日期。 字母排序:所有参与签名的元素都必须按字母顺序排列。 必须字段 :ctyuneoprequestid和eopdate是必填签名头。 签名有效期:建议每次请求都重新生成签名。 注意事项: 参与签名的header、query、body参数,在计算签名前后不能更改(包括空格、换行等),否则会导致签名错误。报错CTAPI10009。
来自: