开发者社区> 问答> 正文

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

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

展开
收起
凡凡1990 2018-08-27 22:09:11 3878 0
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 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
如何运维千台以上游戏云服务器 立即下载
网站/服务器取证 实践与挑战 立即下载
ECS块储存产品全面解析 立即下载