开发者社区> 问答> 正文

阿里云OpenAPI使用的v3版本请求体签名,但是一直报签名不匹配,怎么解决?

问题一:阿里云OpenAPI使用的v3版本请求体签名,但是一直报签名不匹配,怎么解决?
问题二:这个加了 "content-type", "application/json; charset=utf-8",还是错误,为什么?
问题三:看日志所有经过sha256Hex 的都不对,但是我直接复制的demo里面的,为什么还是会错?public static String sha256Hex(String str) throws Exception {
//// 获取SHA-256消息摘要实例
MessageDigest md = MessageDigest.getInstance("SHA-256");
//// 计算字符串s的SHA-256哈希值
byte[] d = md.digest(str.getBytes(StandardCharsets.UTF_8));
//// 将哈希值转换为小写十六进制字符串并返回
return DatatypeConverter.printHexBinary(d).toLowerCase();
}

展开
收起
三分钟热度的鱼 2024-06-26 22:11:27 5 0
1 条回答
写回答
取消 提交回答
  • 回答一: 可是contenttype就很怪 可以先全放query吗
    Content-Type
    text/plain%3B charset=ISO-8859-1
    回答二:这次body是读取到了的 然后你对比下客户端计量的CanonicalRequest 和 报错返回的CanonicalRequest,看下哪没匹配上就好了
    回答三:把这部分注释取消,把上面那段注释应该就好 lQLPJxOFhZn35dHNBKbNCUSwqAUUVcLEfbAGXD1Krj3xAA_2372_1190.png
    此回答整理自钉群“阿里云 OpenAPI SDK 自签名服务群”

    2024-06-27 08:03:53
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云云原生技术实践营 AI 原生应用架构专场·北京站 立即下载
AutoTalk第七期:自动化工具-OpenAPI在线调试 立即下载
最大化阿里云OpenAPI能力的方法和实践 立即下载