alipay / alipay-sdk-nodejs-all

支付宝开放平台 Alipay SDK for Node.js
https://docs.open.alipay.com/54/103419/
Other
407 stars 64 forks source link

aes加密请求,response验签失败--严重bug #82

Closed yangguangqishimi closed 3 months ago

yangguangqishimi commented 3 years ago

image alipay.js 227行 因为validateStr 在220行已经被截取过了,所以再截取0,lastIndex,就去不掉"sign"后面的字符串了。 但是由于不采用aes加密是,229行和231行,去除了{}前后的字符串,避开了上诉截取不正确的问题,因此没问题。 当请求“alipay.open.auth.app.aes.get”时,由于必须使用aes加密,返回的response是加密后的字符串,而不是json字符串,所以229和231行就不起作用了,这样最后得到的validateStr就是错的,类似这样的 ":"hYef4GFklQOxJtbDvUVGPP6XPXXjjC392caT1xw+YpzXl0/tzIQGA3jHI8GCkTnp","sign":"VdYhyyjnc6tleQjzzVRoFgj/UeMMOy97" 所以,验签失败 image

fengmk2 commented 3 months ago

使用最新版本的 sdk,默认会做响应验签。