认证鉴权 信息的获取 云网平台获取 登录云网门户,在“控制台”>“个人中心”>“ 第三方账号绑定 ”,通过创建或者查看获取ak,sk。 基本签名流程 ctyuneopak/ctyuneopsk基本签名流程 1、待签字符串:使用规范请求和其他信息创建待签字符串; 2、计算密钥:使用HEADER、ctyuneopsk、ctyuneopak来创建Hmac算法的密钥; 3、计算签名:使用第三步的密钥和待签字符串在通过hmacsha256来计算签名。 4、签名应用:将生成的签名信息作为请求消息头添加到HTTP请求中。 创建待签名字符串 待签名字符串的构造规则如下: 待签名字符串 需要进行签名的Header排序后的组合列表+ "n" + 排序的query + "n" + toHex(sha256(原封的body)) 需要进行签名的Header排序后的组合列表(排序的header) header 以 headername:headervalue来一个一个通过n拼接起来,EOP是强制要求ctyuneoprequestid和eopdate这个头作为Header中的一部分,并且必须是待签名Header里的一个。需要进行签名算法的Header需要进行排序(将它们的headername以26个英文字母的顺序来排序),将排序后得到的列表进行遍历组装成待签名的header。 排序的query query以&作为拼接,key和值以连接,排序规则使用26个英文字母的顺序来排序,Query参数全部都需要进行签名。 toHex(sha256(原封的body)) 传进来的body参数进行sha256摘要,对摘要出来的结果转十六进制。 排序的header例子: 假设你需要将ctyuneoprequestid、eopdate、host都要签名,则待签名的header构造出来是: ctyuneoprequestid:123456789neopdate:20210531T100101Znhost:1.1.1.1:9080n ctyuneoprequestid、eopdate和host的排序就是这个顺序,如果你加入一个ccad的header;同时这个header也要是进行签名,则待签名的header组合: ccda:123n ctyuneoprequestid:123456789neopdate:20210531T100101Znhost:1.1.1.1:9080n 构造动态密钥 发起请求时,需要构造一个eopdate的时间,这个时间的格式是yyyymmddTHHMMSSZ;言简意赅一些,就是年月日T时分秒Z 1、先是拿你申请来的ctyuneopsk作为密钥,eopdate作为数据,算出ktime 2、拿ktime作为密钥,你申请来的ctyuneopak数据,算出kAk; 3、拿kAk作为密钥,eopdate的年月日值作为数据;算出kdate eopdate yyyymmddTHHMMSSZ(20211221T163614Z)(年月日T时分秒Z) :: Ktime 使用ctyuneopsk作为密钥,eopdate作为数据,算出ktime; Ktime hmacSha256(ctyuneopsk, eopdate) kAk 使用ktime作为密钥,你申请来的ctyuneopak数据,算出kAk; kAk hmacsha256(ktime,ctyuneopak) kdate 使用kAk作为密钥,eopdate的年月日值作为数据;算出kdate; kdate hmacsha256(kAk, eopdate)