crypto

module
v0.44.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 22, 2024 License: Apache-2.0

README

crypto

License Go Report Card CI codecov Documentation

Crypto is a collection of packages used in smallstep products. See:

  • step: A zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc.
  • step-ca: A private certificate authority (X.509 & SSH) & ACME server for secure automated certificate management, so you can use TLS everywhere & SSO for SSH.

Usage

To add this to a project, just run:

go get go.step.sm/crypto

Packages

x509util

Package x509util implements utilities to build X.509 certificates based on JSON templates.

sshutil

Package sshutil implements utilities to build SSH certificates based on JSON templates.

keyutil

Package keyutil implements utilities to generate cryptographic keys.

pemutil

Package pemutil implements utilities to parse keys and certificates. It also includes a method to serialize keys, X.509 certificates and certificate requests to PEM.

randutil

Package randutil provides methods to generate random strings and salts.

tlsutil

Package tlsutil provides utilities to configure tls client and servers.

jose

Package jose is a wrapper for github.com/go-jose/go-jose/v3 and implements utilities to parse and generate JWT, JWK and JWKSets.

x25519

Package x25519 adds support for X25519 keys and the XEdDSA signature scheme.

minica

Package minica implements a simple certificate authority.

kms

Package kms implements interfaces to perform cryptographic operations like signing certificates using cloud-based key management systems, PKCS #11 modules, or just a YubiKey or an ssh-agent. On the cloud it supports:

fingerprint

Package fingerprint provides methods for creating and encoding X.509 certificate, SSH certificate and SSH key fingerprints.

tpm

Package tpm provides an abstraction over and utilities for interacting with TPMs. It can be used to retrieve TPM information, retrieve its Endorsement Keys (EK) and associated certificates, create and operate on Attestation Keys (AK), and create and operate on (attested) application keys. The storage subpackage provides an interface and concrete implementations offering a transparent persistence mechanism for Attestation and application keys.

Directories

Path Synopsis
internal
bcrypt_pbkdf
Package bcrypt_pbkdf implements password-based key derivation function based on bcrypt compatible with bcrypt_pbkdf(3) from OpenBSD.
Package bcrypt_pbkdf implements password-based key derivation function based on bcrypt compatible with bcrypt_pbkdf(3) from OpenBSD.
Package jose is a wrapper for github.com/go-jose/go-jose/v3 and implements utilities to parse and generate JWT, JWK and JWKSets.
Package jose is a wrapper for github.com/go-jose/go-jose/v3 and implements utilities to parse and generate JWT, JWK and JWKSets.
Package keyutil implements utilities to generate cryptographic keys.
Package keyutil implements utilities to generate cryptographic keys.
kms
azurekms/internal/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
uri
Package pemutil implements utilities to parse keys and certificates.
Package pemutil implements utilities to parse keys and certificates.
Package randutil provides methods to generate random strings and salts.
Package randutil provides methods to generate random strings and salts.
Package sshutil implements utilities to build SSH certificates based on JSON templates.
Package sshutil implements utilities to build SSH certificates based on JSON templates.
tpm
Package x509util implements utilities to build X.509 certificates based on JSON templates.
Package x509util implements utilities to build X.509 certificates based on JSON templates.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL