step
Certificate and key management CLI
TLDR
Create CA
SYNOPSIS
step command [subcommand] [options]
DESCRIPTION
step is a comprehensive command-line toolkit for working with certificates, keys, and cryptographic operations. It serves as both a standalone utility for inspecting and creating certificates and as the client interface for the step-ca private certificate authority server.
The tool provides subcommands for the full certificate lifecycle: creating certificate signing requests, requesting signed certificates from a CA, inspecting certificate details, verifying certificate chains, and managing SSH certificates. It supports modern cryptographic standards including ECDSA, EdDSA, and RSA keys, and can work with ACME protocol for automated certificate issuance.
When paired with a step-ca server, step enables automated PKI workflows including bootstrapping client trust, requesting short-lived certificates, and managing provisioners for different authentication methods such as OIDC, JWK, and ACME. It also supports SSH certificate management as an alternative to traditional long-lived SSH keys.
PARAMETERS
ca
Certificate authority commands.certificate
Certificate operations.crypto
Cryptographic operations.ssh
SSH certificate commands.oauth
OAuth operations.--ca-url URL
CA server URL.--fingerprint FP
CA fingerprint.
CONFIGURATION
~/.step/
Default step path containing CA configuration, certificates, and keys.~/.step/config/defaults.json
Default settings including CA URL, fingerprint, and provisioner.STEPPATH
Environment variable to override the default step configuration directory.
CAVEATS
CA setup requires planning. Certificate lifetimes matter. Key security essential.
HISTORY
step and step-ca were created by Smallstep for modern PKI. They simplify certificate management for developers and DevOps.
