Nokku LogoNokku
Nokku LogoNokku

X.509 Certificates

Early support for issuing simple X.509 certificates for TLS workloads.

Last updated on Aug 3, 2026

X.509 support is intentionally small: Nokku can create a key and CSR, sign the CSR with an X.509 CA, and write the resulting files for an application to use. It does not configure the application or its trust store.

Use X.509 certificates for applications that use TLS. SSH certificates are a different format and are used by OpenSSH.

Create an X.509 CA

Create an X.509 certificate authority for the workspace. Choose its key policy and lifetime before issuing certificates.

List available authorities

nk cert list

If exactly one active X.509 authority is available, it can be selected automatically. Select a CA explicitly when multiple authorities are available.

Issue a certificate

nk cert issue api-client \
  --usage client \
  --san dns:api.example.com

The CLI generates a key pair and PKCS#10 CSR, sends the CSR to the core, and writes the signed certificate and CA certificate to the output directory.

Usage

ValueExtended key usage
clientTLS client authentication
serverTLS server authentication
bothClient and server authentication

Subject alternative names

The CLI accepts DNS names, IP addresses, email addresses, and URIs:

nk cert issue service \
  --usage client \
  --san dns:service.internal \
  --san ip:10.0.0.5 \
  --san uri:spiffe://example/service

Use the resulting CA certificate in the application’s trust configuration. Nokku does not configure the application or its trust store.

Output

The command writes files named from the requested common name:

service.crt
service.key
service-ca.crt

Files are written to the current directory by default; pass --output (or -o) to choose another directory.

Protect the private key

The .key file is a credential. Keep it in a safe place with restricted permissions and do not commit it to source control.