开发者社区> 问答> 正文

OSS callback回调服务器解密内容拼写规则

android调用上传文件并添加回调参数代码如下 // 构造上传请求
        PutObjectRequest put = new PutObjectRequest("ykt-update", objectPaht,filePath);
    
        put.setCallbackParam(new HashMap<String, String>() {
            {
                put("callbackUrl", "http://test.changer.cn/1/dataSync/functions/uploadCallBack");
                put("callbackBodyType", "application/json");
                put("callbackBody", "{\"bucket\":${bucket}}");
            }
        });

        OSSAsyncTask task = MyApplication.getOss().asyncPutObject(put, new
                OSSCompletedCallback<PutObjectRequest, PutObjectResult>() {
                    @Override
                    public void onSuccess(PutObjectRequest request, PutObjectResult result) {
                    }

                    @Override
                    public void onFailure(PutObjectRequest request, ClientException clientExcepion,
                                          ServiceException serviceException) {
                    }
                });
在回调服务器中需要验证签名,文档中描述如下:


验证签名


验证签名的过程即为签名的逆过程,由应用服务器验证,过程如下: Result = rsa_verify(public_key, md5(url_decode(path) + query_string + ‘\n’ + body), base64_decode(authorization))
获取待签名字符串,方法与签名一致
sign_str = url_decode(path) + query_string + ‘\n’ + body
那么我想确认这个sigin_str到底怎么拼写,以我的实际情况
path等于/1/dataSync/functions/uploadCallBack
query_string没有等于空
body等于bucket=ykt-update
那么sign_str = /1/dataSync/functions/uploadCallBack\nbucket=ykt-update是这样吗?
如果有错误请指出(实际测试按这样的拼写内容签名验证失败)
请不要再给我发文档链接,看了很多遍了,请直接帮忙解决我的问题,多谢!!!

展开
收起
kevin! 2017-10-11 19:24:32 2303 0
2 条回答
写回答
取消 提交回答
  • sigin_str是按照各个参数的字母顺序排列,然后md5计算,base64编码,如果签名出错,服务器会返回正确的签名字符串.
    2017-10-15 02:20:31
    赞同 展开评论 打赏
  • ReOSS callback回调服务器解密内容拼写规则
    版主们帮忙看看呗,不要沉了哦
    2017-10-12 09:32:03
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载