问题一:阿里云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();
}
回答一: 可是contenttype就很怪 可以先全放query吗
Content-Type
text/plain%3B charset=ISO-8859-1
回答二:这次body是读取到了的 然后你对比下客户端计量的CanonicalRequest 和 报错返回的CanonicalRequest,看下哪没匹配上就好了
回答三:把这部分注释取消,把上面那段注释应该就好
此回答整理自钉群“阿里云 OpenAPI SDK 自签名服务群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。