INNER CODE UNIT · Python
_verify_key
bunkeriot/BunkerM · backend/app/agent-api/main.py:75
def _verify_key(key: str, instance_id: str) -> dict | None:
"""Verify a BKMR- prefixed license key. Returns payload dict or None."""
if not key.startswith("BKMR-"):
return None
parts = key[5:].split(".")
if len(parts) != 2:
return None
try:
payload_bytes = _b64url_decode(parts[0])
sig_bytes = _b64url_decode(parts[1])
pub = Ed25519PublicKey.from_public_bytes(base64.b64decode(_PUBLIC_KEY_B64))
pub.verify(sig_bytes, payload_bytes) # raises on bad sig
payload = json.loads(payload_bytes)
if payload.get("instance_id") != instance_id:
return None
# Enforce key expiry (365 days)
iat = payload.get("iat", 0)
if time.time() - iat > 365 * 86400: