tls

package
v4.0.0-...-2c57b5f Latest Latest
Warning

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

Go to latest
Published: Jun 6, 2024 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package tls provides Bento configuration fields and wrappers for a crypto/tls config.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FieldSpec

func FieldSpec() docs.FieldSpec

FieldSpec returns a spec for a common TLS field.

Types

type ClientCertConfig

type ClientCertConfig struct {
	CertFile string `json:"cert_file" yaml:"cert_file"`
	KeyFile  string `json:"key_file" yaml:"key_file"`
	Cert     string `json:"cert" yaml:"cert"`
	Key      string `json:"key" yaml:"key"`
	Password string `json:"password" yaml:"password"`
}

ClientCertConfig contains config fields for a client certificate.

func (*ClientCertConfig) Load

func (c *ClientCertConfig) Load(f ifs.FS) (tls.Certificate, error)

Load returns a TLS certificate, based on either file paths in the config or the raw certs as strings.

type Config

type Config struct {
	Enabled             bool               `json:"enabled" yaml:"enabled"`
	RootCAs             string             `json:"root_cas" yaml:"root_cas"`
	RootCAsFile         string             `json:"root_cas_file" yaml:"root_cas_file"`
	InsecureSkipVerify  bool               `json:"skip_cert_verify" yaml:"skip_cert_verify"`
	ClientCertificates  []ClientCertConfig `json:"client_certs" yaml:"client_certs"`
	EnableRenegotiation bool               `json:"enable_renegotiation" yaml:"enable_renegotiation"`
}

Config contains configuration params for TLS.

func NewConfig

func NewConfig() Config

NewConfig creates a new Config with default values.

func (*Config) Get

func (c *Config) Get(f ifs.FS) (*tls.Config, error)

Get returns a valid *tls.Config based on the configuration values of Config, or nil if tls is not enabled.

func (*Config) GetNonToggled

func (c *Config) GetNonToggled(f ifs.FS) (*tls.Config, error)

GetNonToggled returns a valid *tls.Config based on the configuration values of Config. If none of the config fields are set then a nil config is returned.

Jump to

Keyboard shortcuts

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