开发者社区> 问答> 正文
1
0
分享

请问Node.js后端签名直传,上传回调到服务器之后怎么验证oss签名

上传文件到oss服务器上成功,并设置回调到我自己的服务器上,callback里面需要验证oss签名,这个目前没有nodejs的sdk,我自己写的一直验证不过,求大佬帮解答一下

展开
收起
凡凡1990 2018-08-27 22:09:11 3889 0
举报
飞天免费试用计划
领取免费云资源,开启云上实践第一步
对象存储 OSS
20GB 3个月
额度3个月内有效
对象存储 OSS
内容安全 1000次 1年
额度1个年内有效
对象存储 OSS
恶意文件检测 1000次 1年
额度1个年内有效
1 条回答
写回答
取消 提交回答
  • Re请问Node.js后端签名直传,上传回调到服务器之后怎么验证oss签名
    上传文件成功,nodejs验证回调签名不成功,请问大佬们怎么处理?

    -------------------------

    Re请问Node.js后端签名直传,上传回调到服务器之后怎么验证oss签名

    function test( oss_callback) {
      const signature = Buffer. from(oss_callback.authorization, ' base64 '). toString();//callback签名
       const x_oss_pub_key_url = oss_callback[ ' x-oss-pub-key-url '];
       const pub_key_url = Buffer. from(x_oss_pub_key_url, ' base64 '). toString();
      
       if (pub_key_url. match( / http [ s ] ? \:\/\/gosspublic\.alicdn\.com\/ /)) {
         request(pub_key_url, function ( error, response, public_key) {
          
           console. log(public_key); //公钥
          
           const sign_str = md5( decodeURI(path) + ' \n ' + querystring. stringify(reqbody)); //签名字符串

           var verifier = crypto. createVerify( ' md5WithRSAEncryption ');
          verifier. update( Buffer. from(sign_str));
           console. log(verifier. verify(public_key, signature, ' base64 '));
        });
      } else {
         throw new Error( ' public key url illegal ')
      }

    }
    2018-08-28 09:13:27 举报
    赞同 1 1 打赏

    评论

    全部评论 (1)

    登录后可评论
    头像
    请问解决了么。body的计算一直报错。直接用的ctx计算的。
    2021-09-04 13:02:16
    回复 赞同举报
问答排行榜
最热
最新

相关电子书

更多
探究 Node.js 的服务端之路 立即下载
个推微服务实践 基于OpenResty 和Node.js 立即下载
沪江基于Node.js大规模应用实践 立即下载
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等