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: if public_key:
try: try:
# 构造签名 # 使用 wechatpayv3.utils.rsa_verify 验证签名
sign_string = f"{timestamp}\n{nonce}\n{body_str}\n"
# 验证签名
is_verified = rsa_verify( is_verified = rsa_verify(
public_key=load_public_key(public_key), timestamp=timestamp,
data=sign_string.encode('utf-8'), nonce=nonce,
signature=b64decode(signature) body=body_str,
signature=signature,
public_key=load_public_key(public_key)
) )
if not is_verified: if not is_verified:
logger.warning("WeChat callback signature verification failed") logger.warning("WeChat callback signature verification failed")