bad_signature
Diagnostic `nanook::auth::bad_signature`
Summary
signature verification failed
Help
the request signature does not match the claimed public key
Details
When this fires
The signature was the right length and the public key was on the trust list, but the ed25519 verification failed. That means the signed bytes do not match what the server reconstructed: typically a mismatched HTTP method, request path, body, timestamp, or nonce between the client side of Canonical and the server side. Body tampering by a proxy is a common culprit. User-visible symptom: nanook ctl returns a 401 even though the key is in [admin].authorized.
What to check
- The canonical bytes are
v1\n<METHOD>\n<PATH>\n<TS>\n<NONCE>\n<HEX-SHA256-BODY>(seecrates/nanook-auth/src/signing.rs). Make sure no proxy rewrites the body, path, or method casing between client and agent. - If you swapped identities recently, re-sign with the matching private key.