美文网首页
支付宝异步通知 ,签名验证问题

支付宝异步通知 ,签名验证问题

作者: imsjw | 来源:发表于2019-01-29 10:14 被阅读0次

1.构建参数

 Map<String, String[]> parameters = req.getParameterMap();
 Map<String, String> parameterMap = new HashMap<>();
 for (Object v : parameters.entrySet()) {
    Map.Entry<String, String[]> item = (Map.Entry<String, String[]>) v;
    parameterMap.put(item.getKey(), item.getValue()[0]);
}     

2.验证签名
这里有坑,官方给的代码中没有要求传入signType 参数,而代码中使用的是rsa算法 所以需要传入signType 将算法变为参数中的算法类型(rsa2)
公钥是支付宝公钥,非应用公钥,这是一个细节方面

String signType = parameterMap.get("sign_type");
if (AlipaySignature.rsaCheckV1(parameterMap, alipayPublicKey, "UTF-8", signType)) {
    return true;
}

相关文章

网友评论

      本文标题:支付宝异步通知 ,签名验证问题

      本文链接:https://www.haomeiwen.com/subject/wygtsqtx.html