feat: implement MeshCore-compatible key generation for all identity keys with guards for 0x00 and 0xff prefixs

This commit is contained in:
Rightup
2026-06-28 22:57:14 +01:00
parent 6de2b23266
commit a53df3d76f
3 changed files with 37 additions and 19 deletions
+5 -3
View File
@@ -4256,9 +4256,11 @@ class APIEndpoints:
key_was_generated = False
if not identity_key:
try:
# Generate a new random 32-byte key (same method as config.py)
random_key = os.urandom(32)
identity_key = random_key.hex()
# Use MeshCore-compatible keygen and store 32-byte private scalar hex.
from repeater.keygen import generate_meshcore_keypair
_, private_key = generate_meshcore_keypair()
identity_key = private_key[:32].hex()
key_was_generated = True
logger.info(f"Auto-generated identity key for '{name}': {identity_key[:16]}...")
except Exception as gen_error: