待签名字符串在OSS(阿里云对象存储)自签名模式中是指什么?

待签名字符串在OSS(阿里云对象存储)自签名模式中是指什么?

展开
收起
提问的橘子 2024-08-07 14:38:26 96 分享 版权
2 条回答
写回答
取消 提交回答
  • 资深 C++与人工智能程序员。精通 C++,善用其特性构建稳健架构。在人工智能领域,深入研习机器学习算法,借 C++与 OpenCV 等实现计算机视觉应用,于自然语言处理构建文本处理引擎。以敏锐洞察探索技术融合边界,用代码塑造智能未来。

    在OSS(阿里云对象存储)自签名模式中,待签名字符串是用于生成签名的关键数据,它是一个按照特定规则组合的字符串,包含了请求相关的重要信息,主要用于验证请求的合法性和安全性。以下是具体介绍:

    组成部分

    • HTTP方法:明确请求使用的HTTP方法,如GET、PUT、POST、DELETE等,表明操作类型,例如GET用于获取对象,PUT用于上传对象。
    • Content-MD5:请求内容的MD5哈希值,用于验证数据完整性,若请求有消息体,需计算其MD5值并填入;若没有则为空字符串。
    • Content-Type:请求的内容类型,像“application/json”“image/jpeg”等,告知OSS数据格式。
    • Date:请求的时间,必须是GMT格式,如“Wed, 21 Oct 2015 07:28:00 GMT”,用于防止重放攻击,确保请求时效性。
    • CanonicalizedOSSHeaders:规范化的OSS自定义头部,包含以“x-oss-”开头的头部信息,如“x-oss-acl”等,需按特定规则排序和拼接。
    • CanonicalizedResource:规范化的资源路径,包括Bucket名称、对象键名等,如“/mybucket/myobject”,明确操作的资源对象。

    作用

    • 签名生成基础:待签名字符串是生成签名的输入,通过将其与AccessKey Secret进行特定的加密算法(如HMAC-SHA1)运算,得到签名值,附在请求中,让OSS验证请求合法性。
    • 请求唯一性标识:由于包含了请求的关键信息,不同请求的待签名字符串不同,可作为请求的唯一标识,使OSS能区分和处理不同请求,防止请求被篡改或伪造。
    2025-02-18 18:03:27
    赞同 展开评论
  • 无论是STS鉴权模式还是自签名模式,您实现的回调函数都需要保证调用时Token、Signature的返回结果。如果您需要实现向业务Server获取Token、Signature的网络请求,建议调用网络库的同步接口。回调都是在SDK发起具体请求时,在请求的子线程中执行,所以不会阻塞主线程。
    在自有服务器进行签名并返回签名后的字符串到客户端。

    按照OSS规定的签名算法对待签名字符串进行签名。关于签名算法的更多信息,请参见签名版本1。

    签名算法的格式为signature = "OSS " + AccessKeyId + ":" + base64(hmac-sha1(AccessKeySecret, content)),其中content是已根据请求参数拼接后的字符串。
    image.png
    参考文档https://help.aliyun.com/zh/oss/developer-reference/authorize-access?spm=a2c4g.11186623.0

    2024-08-31 07:44:07
    赞同 展开评论

对象存储 OSS 是一款安全、稳定、高性价比、高性能的云存储服务,可以帮助各行业的客户在互联网应用、大数据分析、机器学习、数据归档等各种使用场景存储任意数量的数据,以及进行任意位置的访问,同时通过丰富的数据处理能力更便捷地使用数据。

热门讨论

热门文章

还有其他疑问?
咨询AI助理