certs

package
v0.1.8 Latest Latest
Warning

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

Go to latest
Published: Jan 5, 2025 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoCertOrKey = newInvalidTLSConfigError(
	"cert and key files are required",
)

Functions

func ConfigureTLS

func ConfigureTLS(tlsConfig *TLSConfig) (*tls.Config, error)

ConfigureTLS 从给定的 TLSConfig 配置 tls.Config

func NewTLSConfigFromFile

func NewTLSConfigFromFile(certFile, keyFile, caFile string) (*tls.Config, error)

NewTLSConfigFromFile 从证书和密钥文件创建 tls.Config 如果未提供证书和密钥文件,则返回错误。 如果提供了 caFile,将用于创建 RootCAs 池。

Types

type InvalidTLSConfigError

type InvalidTLSConfigError struct {
	// contains filtered or unexported fields
}

func (*InvalidTLSConfigError) Error

func (e *InvalidTLSConfigError) Error() string

type TLSConfig

type TLSConfig struct {
	// Address 是 Consul 服务器的可选地址。如果有端口,将从中移除,并设置为结果配置的 ServerName。
	Address string `json:"address" mapstructure:"address"`

	// CAFile 是用于 Consul 通信的 CA 证书的可选路径,如果未指定,默认为系统捆绑包。
	CAFile string `json:"ca_file" mapstructure:"ca_file"`

	// CAPath 是用于 Consul 通信的 CA 证书目录的可选路径,如果未指定,默认为系统捆绑包。
	CAPath string `json:"ca_path" mapstructure:"ca_path"`

	// CAPem 是用于 Consul 通信的 PEM 编码的 CA 证书的可选路径,如果未指定,默认为系统捆绑包。
	CAPem []byte `json:"ca_pem" mapstructure:"ca_pem"`

	// CertFile 是用于 Consul 通信的证书的可选路径。如果设置了此项,则还需要设置 KeyFile。
	CertFile string `json:"cert_file" mapstructure:"cert_file"`

	// CertPEM 是用于 Consul 通信的 PEM 编码的证书的可选路径。如果设置了此项,则还需要设置 KeyPEM。
	CertPEM []byte `json:"cert_pem" mapstructure:"cert_pem"`

	// KeyFile 是用于 Consul 通信的私钥的可选路径。如果设置了此项,则还需要设置 CertFile。
	KeyFile string `json:"key_file" mapstructure:"key_file"`

	// KeyPEM 是用于 Consul 通信的 PEM 编码的私钥的可选路径。如果设置了此项,则还需要设置 CertPEM。
	KeyPEM []byte `json:"key_pem" mapstructure:"key_pem"`

	// InsecureSkipVerify 如果设置为 true,将禁用 TLS 主机验证。
	InsecureSkipVerify bool `json:"insecure_skip_verify" mapstructure:"insecure_skip_verify"`
}

TLSConfig 用于生成一个 TLSClientConfig,方便使用 TLS 与 Consul 通信。

Jump to

Keyboard shortcuts

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