fix: replace X25519 with ECDH P-256 for Electron compatibility
Build & Release / Docker / backend (push) Has been cancelled
Build & Release / Docker / frontend (push) Has been cancelled
Build & Release / Desktop / Linux & Windows (push) Has been cancelled
Build & Release / Deploy to server (push) Has been cancelled
Build & Release / Create release (push) Has been cancelled

X25519 Web Crypto support is not available in Electron's Chromium build
despite being in Chrome 113+. P-256 ECDH is universally supported across
all browsers and Electron versions with equivalent security.

- Replace { name: 'X25519' } with { name: 'ECDH', namedCurve: 'P-256' }
  throughout the keypair generation, sealing, and opening functions
- Wire format updated: ephemeral pub key grows from 32 to 65 bytes
  (uncompressed P-256 point: 0x04 || x || y)
- Existing accounts with X25519 keys must re-register

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
nmemmertandClaude Sonnet 4.6 committed 2026-08-28 11:41:11 -04:00
1 parent 84ff218a30
commit 7351f9048a
2 files changed
+23 -38

No files matched your search

+1 -1
View File
@@ -60,7 +60,7 @@ export default function RegisterPage() {
socket.connect(accessToken);
navigate('/messages');
} catch (err: any) {
setError(err.response?.data?.error || 'Registration failed');
setError(err.response?.data?.error || err.message || 'Registration failed');
} finally {
setLoading(false);
}