tlsconfig

package module
v0.0.0-...-fc4206c Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2023 License: Apache-2.0 Imports: 7 Imported by: 1

Documentation

Overview

Package tlsconfig provides config and flags for building TLS configurations for servers and clients.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CAConfig

type CAConfig struct {
	CACert string `json:"caCert,omitempty" yaml:"caCert,omitempty"`
}

CAConfig represents a CA certificate.

func DefaultCAConfig

func DefaultCAConfig() *CAConfig

DefaultCAConfig returns the default CAConfig.

func (*CAConfig) Flags

func (c *CAConfig) Flags(prefix string, defaults *CAConfig) *pflag.FlagSet

Flags returns a flagset that can be added to the command line.

func (*CAConfig) Load

func (c *CAConfig) Load(_ context.Context) ([]*x509.Certificate, error)

Load loads the CA certificates.

type CertConfig

type CertConfig struct {
	Cert string `json:"cert,omitempty" yaml:"cert,omitempty"`
	Key  string `json:"key,omitempty" yaml:"key,omitempty"`
}

CertConfig represent a TLS certificate and its key.

func DefaultCertConfig

func DefaultCertConfig() *CertConfig

DefaultCertConfig returns the default CertConfig.

func (*CertConfig) Flags

func (c *CertConfig) Flags(prefix string, defaults *CertConfig) *pflag.FlagSet

Flags returns a flagset that can be added to the command line.

func (*CertConfig) Load

func (c *CertConfig) Load(_ context.Context) (*tls.Certificate, error)

Load loads the certificate.

type ClientConfig

type ClientConfig struct {
	ServerCA CAConfig `json:"server,omitempty" yaml:"server,omitempty"`
}

ClientConfig is the configuration for client-side TLS.

func DefaultClientConfig

func DefaultClientConfig() *ClientConfig

DefaultClientConfig returns the default configuration.

func (*ClientConfig) Flags

func (c *ClientConfig) Flags(prefix string, defaults *ClientConfig) *pflag.FlagSet

Flags returns a flagset that can be added to the command line.

func (*ClientConfig) Load

func (c *ClientConfig) Load(ctx context.Context) (*tls.Config, error)

Load loads the TLS config.

type MutualClientConfig

type MutualClientConfig struct {
	ClientConfig
	ClientCert CertConfig `json:"client,omitempty" yaml:"client,omitempty"`
}

MutualClientConfig is the configuration for client-side mTLS.

func DefaultMutualClientConfig

func DefaultMutualClientConfig() *MutualClientConfig

DefaultMutualClientConfig returns the default configuration.

func (*MutualClientConfig) Flags

func (c *MutualClientConfig) Flags(prefix string, defaults *MutualClientConfig) *pflag.FlagSet

Flags returns a flagset that can be added to the command line.

func (*MutualClientConfig) Load

func (c *MutualClientConfig) Load(ctx context.Context) (*tls.Config, error)

Load loads the TLS config.

type MutualServerConfig

type MutualServerConfig struct {
	ServerConfig
	ClientCA CAConfig `json:"client,omitempty" yaml:"client,omitempty"`
}

MutualServerConfig is the configuration for server-side mTLS.

func DefaultMutualServerConfig

func DefaultMutualServerConfig() *MutualServerConfig

DefaultMutualServerConfig returns the default configuration.

func (*MutualServerConfig) Flags

func (c *MutualServerConfig) Flags(prefix string, defaults *MutualServerConfig) *pflag.FlagSet

Flags returns a flagset that can be added to the command line.

func (*MutualServerConfig) Load

func (c *MutualServerConfig) Load(ctx context.Context) (*tls.Config, error)

Load loads the TLS config.

type ServerConfig

type ServerConfig struct {
	ServerCert CertConfig `json:"server,omitempty" yaml:"server,omitempty"`
}

ServerConfig is the configuration for server-side TLS.

func DefaultServerConfig

func DefaultServerConfig() *ServerConfig

DefaultServerConfig returns the default configuration.

func (*ServerConfig) Flags

func (c *ServerConfig) Flags(prefix string, defaults *ServerConfig) *pflag.FlagSet

Flags returns a flagset that can be added to the command line.

func (*ServerConfig) Load

func (c *ServerConfig) Load(ctx context.Context) (*tls.Config, error)

Load loads the TLS config.

Jump to

Keyboard shortcuts

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