Documentation
¶
Index ¶
- Variables
- func CertificateFromKeyAndCertificateFiles(key, cert string, waitConfig FileWaitConfig) ([]tls.Certificate, error)
- func CertificatesFromSinglePEMFile(singlePEMFile string, waitConfig FileWaitConfig) ([]tls.Certificate, error)
- func CreateAndSaveSelfSignedKeyPair(config SelfSignedConfig, certPath, keyPath string) (*tls.Certificate, *x509.CertPool, error)
- func CreateSelfSignedKeyPair(config SelfSignedConfig) (*tls.Certificate, *x509.CertPool, error)
- func LoadCertPoolFromFile(certPoolPath string) (*x509.CertPool, error)
- func LoadKeyPairAndCertsFromFile(path string) (*tls.Certificate, error)
- func LoadKeyPairFromFiles(certPath, keyPath string) (*tls.Certificate, error)
- func LoadX509CertFromFile(certPath string) (*x509.Certificate, error)
- func NewAutocertManagerFromConfig(c AutoCertConfig) *autocert.Manager
- func NewAutocertTLSConfig(c AutoCertConfig) (*tls.Config, error)
- func NewClientTLSConfig(c ClientConfig) (*tls.Config, error)
- func NewLocalTLSConfig(config LocalConfig) (*tls.Config, error)
- func NewSelfSignedTLSConfig(config SelfSignedConfig) (*tls.Config, error)
- func NewServerTLSConfig(c ServerConfig) (*tls.Config, error)
- func SaveTLSCertificateToFiles(cert *tls.Certificate, certPath, keyPath string) error
- type AutoCertConfig
- type CertificateSubject
- type ClientConfig
- type ConfigFunc
- type FileWaitConfig
- type LocalConfig
- type SANConfig
- type SelfSignedConfig
- type ServerConfig
Constants ¶
This section is empty.
Variables ¶
View Source
var ( EmptySelfSignedConfig = SelfSignedConfig{} EmptyLocalConfig = LocalConfig{} )
View Source
var (
EmptyAutoCertConfig = AutoCertConfig{}
)
View Source
var (
EmptyClientConfig = ClientConfig{}
)
View Source
var (
EmptyServerConfig = ServerConfig{}
)
Functions ¶
func CertificateFromKeyAndCertificateFiles ¶ added in v0.37.0
func CertificateFromKeyAndCertificateFiles(key, cert string, waitConfig FileWaitConfig) ([]tls.Certificate, error)
func CertificatesFromSinglePEMFile ¶ added in v0.37.0
func CertificatesFromSinglePEMFile(singlePEMFile string, waitConfig FileWaitConfig) ([]tls.Certificate, error)
func CreateAndSaveSelfSignedKeyPair ¶
func CreateAndSaveSelfSignedKeyPair(config SelfSignedConfig, certPath, keyPath string) (*tls.Certificate, *x509.CertPool, error)
func CreateSelfSignedKeyPair ¶
func CreateSelfSignedKeyPair(config SelfSignedConfig) (*tls.Certificate, *x509.CertPool, error)
pulled from inet.af/tcpproxy
func LoadKeyPairAndCertsFromFile ¶
func LoadKeyPairAndCertsFromFile(path string) (*tls.Certificate, error)
LoadKeyPairAndCertsFromFile From: https://gist.github.com/ukautz/cd118e298bbd8f0a88fc LoadKeyPairAndCertsFromFile reads file, divides into key and certificates
func LoadKeyPairFromFiles ¶
func LoadKeyPairFromFiles(certPath, keyPath string) (*tls.Certificate, error)
func LoadX509CertFromFile ¶
func LoadX509CertFromFile(certPath string) (*x509.Certificate, error)
func NewAutocertManagerFromConfig ¶ added in v0.37.0
func NewAutocertManagerFromConfig(c AutoCertConfig) *autocert.Manager
func NewAutocertTLSConfig ¶ added in v0.37.0
func NewAutocertTLSConfig(c AutoCertConfig) (*tls.Config, error)
func NewClientTLSConfig ¶ added in v0.37.0
func NewClientTLSConfig(c ClientConfig) (*tls.Config, error)
func NewLocalTLSConfig ¶ added in v0.37.0
func NewLocalTLSConfig(config LocalConfig) (*tls.Config, error)
func NewSelfSignedTLSConfig ¶ added in v0.37.0
func NewSelfSignedTLSConfig(config SelfSignedConfig) (*tls.Config, error)
func NewServerTLSConfig ¶ added in v0.37.0
func NewServerTLSConfig(c ServerConfig) (*tls.Config, error)
func SaveTLSCertificateToFiles ¶
func SaveTLSCertificateToFiles(cert *tls.Certificate, certPath, keyPath string) error
Types ¶
type AutoCertConfig ¶
type AutoCertConfig struct {
CacheDirectory string `mapstructure:"cache-directory" json:",omitempty"`
Email string `mapstructure:"email" json:",omitempty"`
AllowedHosts []string `mapstructure:"allowed-hosts" json:",omitempty"`
DirectoryURL string `mapstructure:"directory-url" json:",omitempty"`
}
func (AutoCertConfig) IsEmpty ¶
func (c AutoCertConfig) IsEmpty() bool
type CertificateSubject ¶ added in v0.37.0
type CertificateSubject struct {
Country []string `mapstructure:"c" json:"country,omitempty"`
Organization []string `mapstructure:"o" json:"organization,omitempty"`
OrganizationalUnit []string `mapstructure:"ou" json:"organizational_unit,omitempty"`
Locality []string `mapstructure:"l" json:"locality,omitempty"`
Province []string `mapstructure:"st" json:"province,omitempty"`
StreetAddress []string `mapstructure:"street" json:"street_address,omitempty"`
PostalCode []string `mapstructure:"postalcode" json:"postal_code,omitempty"`
SerialNumber string `mapstructure:"serialnumber" json:"serial_number,omitempty"`
CommonName string `mapstructure:"cn" json:"common_name,omitempty"`
}
type ClientConfig ¶
type ClientConfig struct {
RootCAFile string `mapstructure:"root-ca-file" json:",omitempty"`
Certificate string `mapstructure:"cert" json:",omitempty"`
Key string `mapstructure:"key" json:",omitempty"`
InsecureSkipVerify bool `mapstructure:"insecure-skip-verify"`
}
func (ClientConfig) IsEmpty ¶
func (c ClientConfig) IsEmpty() bool
type ConfigFunc ¶ added in v0.37.0
func NewAutocertTLSConfigFunc ¶ added in v0.37.0
func NewAutocertTLSConfigFunc(c AutoCertConfig) ConfigFunc
func NewLocalTLSConfigFunc ¶ added in v0.37.0
func NewLocalTLSConfigFunc(c LocalConfig) ConfigFunc
func NewSelfSignedTLSConfigFunc ¶ added in v0.37.0
func NewSelfSignedTLSConfigFunc(c SelfSignedConfig) ConfigFunc
type FileWaitConfig ¶ added in v0.37.0
type LocalConfig ¶ added in v0.37.0
type LocalConfig struct {
SinglePEMFile string `mapstructure:"single-pem-file" json:",omitempty"`
Certificate string `mapstructure:"cert" json:",omitempty"`
Key string `mapstructure:"key" json:",omitempty"`
FileWaitConfig FileWaitConfig `mapstructure:"file-wait-config,squash" json:",omitempty,squash"`
}
func (LocalConfig) IsEmpty ¶ added in v0.37.0
func (c LocalConfig) IsEmpty() bool
type SelfSignedConfig ¶
type SelfSignedConfig struct {
Subject CertificateSubject `mapstructure:"subject" json:"subject,omitempty"`
SANConfig SANConfig `mapstructure:"san-config" json:"san_config,omitempty"`
Duration string `mapstructure:"duration" json:"duration,omitempty"`
IsCA bool `mapstructure:"ca" json:"is_ca,omitempty"`
CacheDirectory string `mapstructure:"cache-directory" json:",omitempty" json:"cache_directory,omitempty"`
}
func (SelfSignedConfig) IsEmpty ¶ added in v0.37.0
func (c SelfSignedConfig) IsEmpty() bool
type ServerConfig ¶
type ServerConfig struct {
ServerName string `mapstructure:"server-name"`
AutoCertConfig AutoCertConfig `mapstructure:"auto-cert-config" json:",omitempty"`
SelfSignedConfig SelfSignedConfig `mapstructure:"self-signed-config" json:",omitempty"`
LocalConfig LocalConfig `mapstructure:"local" json:",omitempty"`
ClientAuthType string `mapstructure:"client-auth-type" json:",omitempty"`
ClientCAFile string `mapstructure:"client-ca-file" json:",omitempty"`
NextProtos []string `mapstructure:"next-protos"`
TLSMinVersion string `mapstructure:"tls-min-version"`
}
func (ServerConfig) IsEmpty ¶
func (s ServerConfig) IsEmpty() bool
Click to show internal directories.
Click to hide internal directories.