Overview
Tool commands allow you to verify that HTTP requests were signed by a valid agent.tool verify
Verify an agent’s signed request and retrieve the agent’s identity.Arguments
string
required
HTTP method of the request being verified:
GET, POST, PUT, DELETE, etc.string
required
Full URI of the request including scheme and authority (e.g.,
https://api.vestauth.com/whoami)Options
string
required
Value of the
Signature header from the agent’s request.Format: sig1=:BASE64_SIGNATURE:string
required
Value of the
Signature-Input header from the agent’s request.Contains signature metadata: covered components, created timestamp, key ID, algorithm, expiration, nonce, and tag.string
required
Value of the
Signature-Agent header from the agent’s request.Format: sig1=AGENT_UID.HOSTNAMEboolean
Pretty-print JSON output.Alias:
--pretty-printHow It Works
- Parses the
Signature-Agentheader to extract the agent UID - Fetches the agent’s public key from the
.well-knowndiscovery endpoint - Verifies the signature matches the request using the public key
- Checks signature expiration and validates all parameters
- Returns agent identity if verification succeeds
Response Format
On successful verification:Error Handling
Verification fails if:- Signature is cryptographically invalid
- Request has expired (based on
expiresparameter) - Public key cannot be retrieved
- Signature format is malformed
- HTTP method or URI don’t match the signature
Integration Example
Here’s how to usetool verify in a shell script:
Library Usage
For programmatic verification, use thevestauth library instead:
Security Considerations
Replay Attack Protection
Each signature includes:createdtimestamp - when signature was createdexpirestimestamp - when signature expires (typically 5 minutes)nonce- unique random value
SSRF Prevention
Vestauth only fetches public keys from trusted domains:*.api.vestauth.com(default)- Custom domains via
TOOL_FQDN_REGEXenvironment variable
Key Caching
Cache public keys to reduce latency and external requests:Deprecated Command
vestauth provider verify is a deprecated alias for vestauth tool verify. Both commands work identically. Use tool verify in new scripts.Related
- Agent Commands - Create identities and sign requests
- Primitives verify - Low-level signature verification
- Library: tool.verify() - Programmatic verification