微信小程序支付遇到问题,因为没有 WX_MCH_PRIVATE_KEY

This commit is contained in:
2026-07-21 07:59:57 +08:00
parent ade68972a9
commit bc0b0cafd6
6 changed files with 129 additions and 10 deletions
@@ -67,3 +67,22 @@ export function safeEqual(a: string, b: string): boolean {
if (ba.length !== bb.length) return false;
return timingSafeEqual(ba, bb);
}
/**
* 规范化 .env / system_config 中的 PEM
* - 去掉外层引号(DB/表单常把整段含引号写入)
* - 把字面量 \\n 转成真实换行
* OpenSSL 报 1E08010C DECODER unsupported 时多半是这两类污染。
*/
export function normalizePemEnv(raw: string | undefined | null): string {
if (!raw) return '';
let value = String(raw).trim();
if (
(value.startsWith('"') && value.endsWith('"')) ||
(value.startsWith("'") && value.endsWith("'"))
) {
value = value.slice(1, -1).trim();
}
value = value.replace(/\\r\\n/g, '\n').replace(/\\n/g, '\n').replace(/\r\n/g, '\n');
return value.trim();
}