1
0
mirror of https://github.com/smallstep/cli.git synced 2025-04-17 23:37:41 +03:00
Herman Slatman 1bf3d3bd69
Merge pull request #1409 from smallstep/herman/goreleaser-improvements
Use `envOrDefault` for `GPG_PRIVATE_KEY_FILE` environment variable
2025-04-17 17:37:55 +02:00
2022-10-06 18:25:44 -04:00
2022-02-10 01:26:12 +03:00
2024-09-24 19:33:52 +02:00
2024-10-18 14:33:23 +02:00
2023-05-16 20:02:24 -07:00
2024-08-09 11:33:33 -05:00
2025-03-17 18:03:46 -07:00
2020-05-26 12:22:00 -07:00
2022-07-29 15:16:22 -07:00

Step CLI

GitHub release Go Report Card Build Status License CLA assistant

GitHub stars Twitter followers

step is an easy-to-use CLI tool for building, operating, and automating Public Key Infrastructure (PKI) systems and workflows. It's the client counterpart to the step-ca online Certificate Authority (CA). You can use it for many common crypto and X.509 operations—either independently, or with an online CA.

Questions? Ask us on GitHub Discussions or Discord.

Website | Documentation | Installation | Basic Crypto Operations | Contributor's Guide

Features

Step CLI's command groups illustrate its wide-ranging uses:

  • step certificate: Work with X.509 (TLS/HTTPS) certificates.

    • Create, revoke, validate, lint, and bundle X.509 certificates.
    • Install (and remove) X.509 certificates into your system's (and browser's) trust store.
    • Validate certificate deployment and renewal status for automation
    • Create key pairs (RSA, ECDSA, EdDSA) and certificate signing requests (CSRs)
    • Sign CSRs
    • Create RFC5280 and CA/Browser Forum-compliant certificates that work for TLS and HTTPS
    • Create CA certificates (root and intermediate signing certificates)
    • Create self-signed & CA-signed certificates
    • Inspect and lint certificates on disk or in use by a remote server
    • Install root certificates so your CA is trusted by default (issue development certificates that work in browsers)
  • step ca: Administer and use a step-ca server, or any ACMEv2 (RFC8555) compliant CA server. ACME is the protocol used by Let's Encrypt to automate the issuance of HTTPS certificates.

  • step crypto: A general-purpose crypto toolkit

  • step oauth: Add an OAuth 2.0 single sign-on flow to any CLI application.

    • Supports OAuth authorization code, out-of-band (OOB), JWT bearer, and refresh token flows
    • Get OAuth access tokens and OIDC identity tokens at the command line from any provider.
    • Verify OIDC identity tokens (step crypto jwt verify)
  • step ssh: Create and manage SSH certificates (requires an online or offline step-ca instance)

    • Generate SSH user and host key pairs and short-lived certificates
    • Add and remove certificates to the SSH agent
    • Inspect SSH certificates
    • Login and use single sign-on SSH

Installation

See our installation docs here.

Example

Here's a quick example, combining step oauth and step crypto to get and verify the signature of a Google OAuth OIDC token:

Animated terminal showing step in practice

Community

Further Reading

Description
Командная оболочка для работы с X509, OAuth, JWT, OATH OTP и т.д.
Readme Apache-2.0 9.4 MiB
Languages
Go 99.5%
Makefile 0.2%
Shell 0.2%