postman调用腾讯电子签渠道版

Globals添加SecretId和SecretKey

测试环境请求示例

Pre-request Script添加以下内容

postman.setGlobalVariable("Timestamp", Date.parse(new Date()) / 1000);
postman.setGlobalVariable("Nonce", Date.parse(new Date()) / 1000);
//正式环境
//Service = request.url.replace(/https:\/\//, "").replace(/\.tencentcloudapi\.com\//, "")
//测试环境
Service = request.url.replace(/https:\/\//, "").replace(/\.test\.ess\.tencent\.cn\//, "")
if (request.headers["x-tc-service"]) {
    Service = request.headers["x-tc-service"]
}
console.log("Service:"+Service);

if (request.method == "GET") {
    payload = ""
    CanonicalQueryString = ""
}else if(request.method == "POST"){
    payload = request.data
    CanonicalQueryString = ""
}

var reg = /^http(s)?:\/\/(.*?)\//
HashedRequestPayload = CryptoJS.SHA256(payload).toString(CryptoJS.enc.Hex);
CanonicalURI = "/";
HTTPRequestMethod = request.method
CanonicalHeaders = "content-type:application/json\nhost:" + reg.exec(request.url)[2] + "\n"
SignedHeaders = "content-type;host"

CanonicalRequest = "" + 
    HTTPRequestMethod + '\n' +
    CanonicalURI + '\n' +
    CanonicalQueryString + '\n' +
    CanonicalHeaders + '\n' +
    SignedHeaders + '\n' +
    HashedRequestPayload


Algorithm = "TC3-HMAC-SHA256";
RequestTimestamp = postman.getGlobalVariable("Timestamp")
Date1 = new Date().toISOString().split('T')[0]
CredentialScope = Date1 + "/" + Service + "/" + "tc3_request"
HashedCanonicalRequest =  CryptoJS.SHA256(CanonicalRequest).toString(CryptoJS.enc.Hex)

StringToSign =
    Algorithm + "\n" +
    RequestTimestamp + "\n" +
    CredentialScope + "\n" +
    HashedCanonicalRequest
  
// SecretKey = ""
SecretKey = postman.getGlobalVariable("SecretKey")
console.log("SecretKey:"+SecretKey);
SecretDate = CryptoJS.HmacSHA256(Date1, "TC3" + SecretKey)

SecretService = CryptoJS.HmacSHA256(Service, SecretDate)
SecretSigning = CryptoJS.HmacSHA256("tc3_request", SecretService)

Signature = CryptoJS.HmacSHA256(StringToSign, SecretSigning).toString(CryptoJS.enc.Hex)
postman.setGlobalVariable("Signature", Signature);
SecretId = postman.getGlobalVariable("SecretId")
console.log("SecretId:"+SecretId);

Authorization =
    Algorithm + ' ' +
    'Credential=' + SecretId + '/' + CredentialScope + ', ' +
    'SignedHeaders=' + SignedHeaders + ', ' + 
    'Signature=' + Signature
    
postman.setGlobalVariable("Authorization", Authorization);    

console.log("Authorization:"+Authorization); 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值