tlsx

package
v0.0.0-...-398cf1c Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2025 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrInvalidCertificateConfiguration = errors.New("tls configuration is invalid")

ErrInvalidCertificateConfiguration is returned when an invalid TLS configuration was found.

View Source
var ErrNoCertificatesConfigured = errors.New("no tls configuration was found")

ErrNoCertificatesConfigured is returned when no TLS configuration was found.

Functions

func Certificate

func Certificate(
	certPEMBase64, keyPEMBase64 string,
	certPath, keyPath string,
) ([]tls.Certificate, error)

[deprecated] Certificate returns a TLS Certificate by looking at its arguments. If both certPEMBase64 and keyPEMBase64 are not empty and contain base64-encoded PEM representations of a cert and key, respectively, that key pair is returned. Otherwise, if certPath and keyPath point to PEM files, the key pair is loaded from those. Returns ErrNoCertificatesConfigured if all arguments are empty, and ErrInvalidCertificateConfiguration if the arguments are inconsistent.

This function is deprecated. Use CertificateFromBase64 or GetCertificate instead.

func CertificateFromBase64

func CertificateFromBase64(certBase64, keyBase64 string) (tls.Certificate, error)

CertificateFromBase64 loads a TLS certificate from a base64-encoded string of the PEM representations of the cert and key.

func CertificateHelpMessage

func CertificateHelpMessage(prefix string) string

CertificateHelpMessage returns a help message for configuring TLS Certificates.

func CreateSelfSignedCertificate

func CreateSelfSignedCertificate(key interface{}) (cert *x509.Certificate, err error)

CreateSelfSignedCertificate creates a self-signed x509 certificate.

func CreateSelfSignedTLSCertificate

func CreateSelfSignedTLSCertificate(key interface{}) (*tls.Certificate, error)

CreateSelfSignedTLSCertificate creates a self-signed TLS certificate.

func GetCertificate

func GetCertificate(
	ctx context.Context,
	certPath, keyPath string,
	errs chan<- error,
) (func(*tls.ClientHelloInfo) (*tls.Certificate, error), error)

GetCertificate returns a function for use with "net/tls".Config.GetCertificate.

The certificate and private key are read from the specified filesystem paths. The certificate file is watched for changes, upon which the cert+key are reloaded in the background. Errors during reloading are deduplicated and reported through the errs channel if it is not nil. When the provided context is canceled, background reloading stops and the errs channel is closed.

The returned function always yields the latest successfully loaded certificate; ClientHelloInfo is unused.

func HTTPSCertificate

func HTTPSCertificate() ([]tls.Certificate, error)

HTTPSCertificate returns loads a HTTP over TLS Certificate by looking at environment variables.

func HTTPSCertificateHelpMessage

func HTTPSCertificateHelpMessage() string

HTTPSCertificateHelpMessage returns a help message for configuring HTTP over TLS Certificates.

func PEMBlockForKey

func PEMBlockForKey(key interface{}) (*pem.Block, error)

PEMBlockForKey returns a PEM-encoded block for key.

func PublicKey

func PublicKey(key crypto.PrivateKey) interface{ Equal(x crypto.PublicKey) bool }

PublicKey returns the public key for a given private key, or nil.

Types

This section is empty.

Jump to

Keyboard shortcuts

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