agent: Reality 密钥 JWK base64url 转标准 base64,修 sing-box check 失败

This commit is contained in:
Muse
2026-10-20 01:28:09 +08:00
parent f29a2d3375
commit 5569055c17
+3 -1
View File
@@ -66,7 +66,9 @@ function realityKey(keyId) {
const priv = kp.privateKey.export({ format: 'jwk' });
const pub = kp.publicKey.export({ format: 'jwk' });
if (!priv.d || !pub.x) throw new Error('X25519 密钥生成失败');
keys[keyId] = { privateKey: priv.d, publicKey: pub.x, createdAt: new Date().toISOString() };
// JWK 用 base64url,sing-box 要标准 base64,转换一下
const b64urlToB64 = (s) => s.replace(/-/g, '+').replace(/_/g, '/') + '='.repeat((4 - s.length % 4) % 4);
keys[keyId] = { privateKey: b64urlToB64(priv.d), publicKey: b64urlToB64(pub.x), createdAt: new Date().toISOString() };
saveKeys(keys);
return keys[keyId];
}