83 lines
3.0 KiB
Plaintext
Raw Normal View History

#!/usr/bin/env nu
# SecretumVault Plugin Quick Demo
print ""
print "═════════════════════════════════════════════════════════════════════════════════"
print "SecretumVault PQC Plugin Demo"
print "═════════════════════════════════════════════════════════════════════════════════"
print ""
# Test 1: Health Check
print "Test 1: Health Check"
try {
let health = (curl -s -H "X-Vault-Token: mytoken" "http://localhost:8200/v1/sys/health" | from json)
print " Status: OK"
print $" Sealed: ($health.data.sealed)"
} catch {
print " ERROR: Cannot connect to vault"
exit 1
}
print ""
print "Test 2: Generate ML-KEM-768 Key"
with-env {SECRETUMVAULT_TOKEN: "mytoken"} {
let key_id = "demo-" + (date now | format date "%s")
let generated = ("" | secretumvault generate-pqc-key --key-id $key_id)
let pub_key_size = ($generated.public_key | decode base64 | bytes length)
print $" Key ID: ($generated.key_id)"
print $" Algorithm: ($generated.algorithm)"
print $" Public key size: ($pub_key_size) bytes"
$key_id | save -f /tmp/pqc-key.txt
}
print ""
print "Test 3: Retrieve Key via API"
with-env {SECRETUMVAULT_TOKEN: "mytoken"} {
let key_id = (open /tmp/pqc-key.txt)
let url = "http://localhost:8200/v1/transit/keys/" + $key_id
let api_resp = (curl -s -H "X-Vault-Token: mytoken" $url | from json)
if ($api_resp.status == "success") {
let pub_key_size = ($api_resp.data.public_key | decode base64 | bytes length)
print $" Algorithm: ($api_resp.data.algorithm)"
print $" Public key size: ($pub_key_size) bytes"
}
}
print ""
print "Test 4: KEM Encapsulation"
with-env {SECRETUMVAULT_TOKEN: "mytoken"} {
let key_id = (open /tmp/pqc-key.txt)
let kem = ("" | secretumvault kem-encapsulate --pqc-key-id $key_id)
print $" Algorithm: ($kem.algorithm)"
print " Status: Encapsulation OK"
}
print ""
print "Test 5: Plugin Version"
with-env {SECRETUMVAULT_TOKEN: "mytoken"} {
let version = ("" | secretumvault version)
print $" Version: ($version)"
}
print ""
print "═════════════════════════════════════════════════════════════════════════════════"
print ""
print "SUCCESS: All tests passed!"
print ""
print "PQC Commands:"
print " • generate-pqc-key"
print " • hybrid-encrypt, hybrid-decrypt"
print " • hybrid-sign, hybrid-verify"
print " • kem-encapsulate, kem-decapsulate"
print ""
print "Classical Commands:"
print " • encrypt, decrypt"
print " • generate-key, generate-data-key"
print " • rotate-key"
print ""
print "Environment: SECRETUMVAULT_TOKEN required"
print ""