This commit is contained in:
2026-06-15 09:39:29 +08:00
parent 5a86350829
commit c4c8f158f7
+6 -6
View File
@@ -129,13 +129,13 @@ async def wechat_callback(request: Request, db: AsyncSession = Depends(get_db)):
# 验证签名:使用平台公钥验证
if public_key:
try:
# 构造签名
sign_string = f"{timestamp}\n{nonce}\n{body_str}\n"
# 验证签名
# 使用 wechatpayv3.utils.rsa_verify 验证签名
is_verified = rsa_verify(
public_key=load_public_key(public_key),
data=sign_string.encode('utf-8'),
signature=b64decode(signature)
timestamp=timestamp,
nonce=nonce,
body=body_str,
signature=signature,
public_key=load_public_key(public_key)
)
if not is_verified:
logger.warning("WeChat callback signature verification failed")