""" Key management blueprint — unified view of all key material. """ from flask import Blueprint, flash, redirect, render_template, request, url_for bp = Blueprint("keys", __name__, url_prefix="/keys") @bp.route("/") def index(): """Key management dashboard.""" from soosef.keystore import KeystoreManager ks = KeystoreManager() return render_template("fieldkit/keys.html", keystore=ks.status()) @bp.route("/channel/generate", methods=["POST"]) def generate_channel(): """Generate a new channel key.""" from soosef.keystore import KeystoreManager ks = KeystoreManager() key = ks.generate_channel_key() flash(f"Channel key generated: {key[:8]}...", "success") return redirect(url_for("keys.index")) @bp.route("/identity/generate", methods=["POST"]) def generate_identity(): """Generate a new Ed25519 identity.""" from soosef.keystore import KeystoreManager ks = KeystoreManager() info = ks.generate_identity() flash(f"Identity generated: {info.fingerprint[:16]}...", "success") return redirect(url_for("keys.index"))