Help us shape the future of Go! Take the 2026 Go Developer Survey

cli

package
v1.0.316 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2026 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package cli implements the xpki-tool command tree: csr-info, cert info/validate, crl info/fetch and ocsp info/fetch. Network operations honor the global --timeout flag.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CRLValidation added in v0.3.0

func CRLValidation(ctx context.Context, client *http.Client, crt *x509.Certificate, issuer *x509.Certificate, crlURL string) (int, error)

CRLValidation calls CRL Endpoint and check certificate in CRL

func OCSPValidation added in v0.3.0

func OCSPValidation(ctx context.Context, client *http.Client, crt *x509.Certificate, issuer *x509.Certificate, rawURL string) (int, []byte, error)

OCSPValidation calls OCSP server and validate certificate

Types

type CRLCmd added in v0.3.0

type CRLCmd struct {
	Info  CRLInfoCmd  `cmd:"" help:"print CRL info"`
	Fetch CRLFetchCmd `cmd:"" help:"fetch CRL"`
}

CRLCmd provides commands for CRL

type CRLFetchCmd

type CRLFetchCmd struct {
	Cert   string `kong:"arg" required:"" help:"certificate file name"`
	Output string `help:"output folder name; required unless --print is set"`
	All    bool   `help:"fetch entire chain"`
	Proxy  string `help:"optional, proxy address or DC name"`
	Print  bool   `help:"print the fetched CRL"`
}

CRLFetchCmd specifies flags for CRLFetch action

func (*CRLFetchCmd) Run

func (a *CRLFetchCmd) Run(ctx *Cli) error

Run the command

type CRLInfoCmd added in v0.3.0

type CRLInfoCmd struct {
	In string `kong:"arg" required:"" help:"DER-encoded CRL"`
}

CRLInfoCmd prints crl info

func (*CRLInfoCmd) Run added in v0.3.0

func (a *CRLInfoCmd) Run(ctx *Cli) error

Run the command

type CertInfoCmd

type CertInfoCmd struct {
	In         string `kong:"arg" required:"" help:"certificate file name"`
	Out        string `help:"optional, output file to save parsed certificates"`
	NotAfter   string `help:"optional, filter certificates by NotAfter time"`
	NoExpired  *bool  `help:"optional, filter non-expired certificates"`
	Extensions bool   `help:"optional, print extensions values"`
}

CertInfoCmd specifies flags for CertInfo action

func (*CertInfoCmd) Run

func (a *CertInfoCmd) Run(ctx *Cli) error

Run the command

type CertValidateCmd

type CertValidateCmd struct {
	Cert       string `kong:"arg" required:"" help:"certificate file name"`
	CA         string `help:"optional, CA bundle file"`
	Root       string `help:"optional, Trusted Roots file"`
	Out        string `help:"optional, output file to save certificate chain"`
	Revocation bool   `help:"optional, validate certificate revocation status"`
	Proxy      string `help:"optional, proxy address or DC name"`
	WithAIA    bool   `help:"optional, enable AIA to fetch intermediates"`
}

CertValidateCmd specifies flags for Validate action

func (*CertValidateCmd) Run

func (a *CertValidateCmd) Run(ctx *Cli) error

Run the command

type CertsCmd

type CertsCmd struct {
	Info     CertInfoCmd     `cmd:"" help:"print certificate info"`
	Validate CertValidateCmd `cmd:"" help:"validates certificate"`
}

CertsCmd provides certificates commands

type Cli

type Cli struct {
	Version ctl.VersionFlag `name:"version" help:"Print version information and quit" hidden:""`

	Timeout int `help:"HTTP timeout in seconds" default:"3"`
	// contains filtered or unexported fields
}

Cli provides CLI context to run commands

func (*Cli) AfterApply

func (c *Cli) AfterApply(_ *kong.Kong, _ kong.Vars) error

AfterApply hook loads config

func (*Cli) Context

func (c *Cli) Context() context.Context

Context for requests

func (*Cli) ErrWriter

func (c *Cli) ErrWriter() io.Writer

ErrWriter returns a writer for control output

func (*Cli) ReadFile

func (c *Cli) ReadFile(filename string) ([]byte, error)

ReadFile reads from stdin if the file is "-"

func (*Cli) Reader

func (c *Cli) Reader() io.Reader

Reader is the source to read from, typically set to os.Stdin

func (*Cli) WithErrWriter

func (c *Cli) WithErrWriter(out io.Writer) *Cli

WithErrWriter allows to specify a custom error writer

func (*Cli) WithReader

func (c *Cli) WithReader(reader io.Reader) *Cli

WithReader allows to specify a custom reader

func (*Cli) WithWriter

func (c *Cli) WithWriter(out io.Writer) *Cli

WithWriter allows to specify a custom writer

func (*Cli) WriteJSON

func (c *Cli) WriteJSON(value any)

WriteJSON prints response to out

func (*Cli) Writer

func (c *Cli) Writer() io.Writer

Writer returns a writer for control output

type CsrInfoCmd

type CsrInfoCmd struct {
	Csr string `kong:"arg" required:"" help:"CSR file name"`
}

CsrInfoCmd specifies flags for Info command

func (*CsrInfoCmd) Run

func (a *CsrInfoCmd) Run(ctx *Cli) error

Run the command

type OCSPCmd added in v0.3.0

type OCSPCmd struct {
	Info  OCSPInfoCmd  `cmd:"" help:"prints OCSP info"`
	Fetch OCSPFetchCmd `cmd:"" help:"fetch OCSP from certificate"`
}

OCSPCmd is the parent for crl command

type OCSPFetchCmd added in v0.3.0

type OCSPFetchCmd struct {
	Cert  string `kong:"arg" required:"" help:"certificate file name"`
	CA    string `help:"optional, CA bundle file"`
	Out   string `help:"output folder name"`
	Proxy string `help:"optional, proxy address or DC name"`
	Print bool
}

OCSPFetchCmd specifies flags to fetch OCSP

func (*OCSPFetchCmd) Run added in v0.3.0

func (a *OCSPFetchCmd) Run(ctx *Cli) error

Run the command. Every OCSP endpoint of the certificate is queried and each failure is printed as `<url> : ERROR: <reason>`. The command succeeds when at least one endpoint returned a valid response, and fails when every endpoint failed (XPKI-102). A failure to write the response file (--out) or to parse the response for --print is returned at once.

type OCSPInfoCmd added in v0.3.0

type OCSPInfoCmd struct {
	In     string `kong:"arg" required:"" help:"OCSP file name"`
	Issuer string `help:"optional, PEM file with the issuer certificate to verify the response signature"`
}

OCSPInfoCmd specifies flags for OCSP info command

func (*OCSPInfoCmd) Run added in v0.3.0

func (a *OCSPInfoCmd) Run(ctx *Cli) error

Run the command

Jump to

Keyboard shortcuts

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