Build from source
The source repository is not public yet. These commands apply once you have a source checkout. The current Go module declares Go 1.26.0.
cd enigma-cli
go build -o enigma-cli .
./enigma-cli --helpExamples below assume the binary is on your PATH. You can use ./enigma-cli from its build directory instead.
Check the connection
enigma-cli status
enigma-cli authenticate
enigma-cli list-keys
enigma-cli lockAuthentication prompts for the PIN. Unlocking creates a reusable session on the device, which can serve multiple commands until explicitly locked or closed by inactivity. Closing a CLI process does not itself lock the token.
The current CLI has no initialization command. These examples assume an already provisioned token. See getting started for the current provisioning boundary.
Create and inspect keys
The following command creates a persistent AES key on the device. Choose a label that makes sense for your application.
enigma-cli authenticate
enigma-cli generate-key --type AES --size 256 \
--usage ENCRYPT --label file-key
enigma-cli list-keys --label file-key
enigma-cli lockKey labels need not be unique. Use the returned key ID for operations that take --key-id. IDs can be reused after deletion.
Command guide
| Command | Purpose |
|---|---|
status | Read token and session state. |
authenticate / lock | Open or close the authenticated device session. |
generate-key | Create an AES, HMAC, RSA, or EC key. |
list-keys | Filter metadata by type, usage, label, or ID. |
export | Write a public key in DER or PEM form. |
sign | Create a signature or HMAC. |
verify | Verify an HMAC on the device. |
encrypt / decrypt | Operate on bounded messages; see the supported mechanisms. |
ecdh | Derive a persistent AES key from EC key agreement. |
destroy-key | Permanently delete a customer key. |
Run enigma-cli <command> --help for flags. Direct device encryption has bounded payloads; use Seal for the file-encryption workflow.
Keep exploring
See keys and sessions for authentication behavior, and mechanisms for algorithm choices and encodings.