历史接口报错ILLEGAL_SIGN(签名错误) 该报错只有mapi网关的历史接口才会出现的报错
错误原因 1、私钥是否正确; 2、参数是否正确; 3、编码格式是否统一; 4、签名过程未排除
解决方案 1、检查私钥是否正确 检查密钥是否正确,密钥信息需设置在mapi网关产品密钥中。 如MD5密钥检查安全校验码是否正确,不能有空格,安全校验码是由数字和字母组成的32位字符串。 RSA密钥需检查密钥是否匹配,建议详见如何检验RSA2密钥是否匹配。
2、检查参数是否正确 (1)必传参数是否设置。 (2)检查参数是否有包含空格,若有空格,建议需去掉。 (3)检查所有参数是否有自定义参数存在,若有,须全部去掉。
3、检查编码格式是否统一 检查检查编码格式是否一致,避免参数值中是否出现乱码。 可优先将中文修改为数字或者英文,测试成功后再修改为中文检查是否乱码导致。 如果参数中数字或英文可以测试成功,但是中文无法测试成功,说明是由于项目和请求的格式不同意导致,建议按照中文乱码排查流程检查。
4、签名过程未排序 建议参数签名的所有参数打印出来,检查加密的所有参数(即参数组里的所有参数)在加密之前的排序功能是否运行正常,即函数是否正确。 mapi网关产品签名需筛选的参数按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推。 示例: _input_charset=utf-8&body=testjsdzbody¬ify_url=http://www.test.com/create_direct_pay_by_user-JAVA-UTF-8/notify_url.jsp&out_trade_no=9890879868657&partner=2088000000000000&payment_type=1&return_url=http://www.baidu.com&seller_id=2088000000000000&service=create_direct_pay_by_user&subject=testjsdz&total_fee=0.01svzitn**********pslfal77xlxm0qhc
5、参数签名过程错误 mapi网关产品签名,获取所有请求参数,不包括字节类型参数,如文件、字节流,剔除sign与sign_type参数,即文档中的参数sign和sign_type不参数签名。 但是OpenAPI网关产品签名,只需要提出sign参数,sign_type参数是必须参数签名的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。