crypto

package
v0.9.3 Latest Latest
Warning

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

Go to latest
Published: Sep 4, 2025 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CanReadCertAndKey added in v0.5.0

func CanReadCertAndKey(certPath, keyPath string) (bool, error)

CanReadCertAndKey checks if both the certificate and key files exist and are readable. Returns true if both files are accessible, false if neither exists, and an error if one is missing.

func CertStorePath added in v0.8.0

func CertStorePath(fileName string, store string) string

func GetCA

func GetCA(certFile, keyFile, serialFile string) (*internalCA, error)

func MakeSelfSignedCA

func MakeSelfSignedCA(certFile, keyFile, serialFile, subjectName string, expiryDays int) (*internalCA, error)

func TLSConfigForClient

func TLSConfigForClient(caBundleX509 []*x509.Certificate, clientConfig *TLSCertificateConfig) (*tls.Config, error)

func TLSConfigForServer

func TLSConfigForServer(caBundlex509 []*x509.Certificate, serverConfig *TLSCertificateConfig) (*tls.Config, *tls.Config, error)

Types

type CABackend added in v0.6.0

type CABackend interface {
	IssueRequestedCertificateAsX509(ctx context.Context, csr *x509.CertificateRequest, expirySeconds int, usage []x509.ExtKeyUsage, opts ...CertOption) (*x509.Certificate, error)
	GetCABundleX509() []*x509.Certificate
}

type CAClient added in v0.6.0

type CAClient struct {
	Cfg *ca.Config
	// contains filtered or unexported fields
}

func EnsureCA

func EnsureCA(cfg *ca.Config) (*CAClient, bool, error)

EnsureCA() tries to load or generate a CA and connect to it. If the CA is successfully loaded or generated it returns a valid CA instance, a flag signifying was it loaded or generated and a nil error. In case of errors a non-nil error is returned.

func (*CAClient) Config added in v0.9.0

func (caClient *CAClient) Config() *ca.Config

func (*CAClient) EnsureClientCertificate added in v0.6.0

func (caClient *CAClient) EnsureClientCertificate(ctx context.Context, certFile, keyFile string, subjectName string, expireDays int) (*TLSCertificateConfig, bool, error)

func (*CAClient) EnsureServerCertificate added in v0.6.0

func (caClient *CAClient) EnsureServerCertificate(ctx context.Context, certFile, keyFile string, hostnames []string, expireDays int) (*TLSCertificateConfig, bool, error)

func (*CAClient) GetCABundle added in v0.6.0

func (caClient *CAClient) GetCABundle() ([]byte, error)

func (*CAClient) GetCABundleX509 added in v0.6.0

func (caClient *CAClient) GetCABundleX509() []*x509.Certificate

func (*CAClient) GetSigner added in v0.9.0

func (caClient *CAClient) GetSigner(name string) signer.Signer

func (*CAClient) IssueRequestedClientCertificate added in v0.6.0

func (caClient *CAClient) IssueRequestedClientCertificate(ctx context.Context, csr *x509.CertificateRequest, expirySeconds int, opts ...CertOption) ([]byte, error)

func (*CAClient) IssueRequestedClientCertificateAsX509 added in v0.6.0

func (caClient *CAClient) IssueRequestedClientCertificateAsX509(ctx context.Context, csr *x509.CertificateRequest, expirySeconds int, opts ...CertOption) (*x509.Certificate, error)

func (*CAClient) IssueRequestedServerCertificate added in v0.6.0

func (caClient *CAClient) IssueRequestedServerCertificate(ctx context.Context, csr *x509.CertificateRequest, expirySeconds int, opts ...CertOption) ([]byte, error)

func (*CAClient) IssueRequestedServerCertificateAsX509 added in v0.6.0

func (caClient *CAClient) IssueRequestedServerCertificateAsX509(ctx context.Context, csr *x509.CertificateRequest, expirySeconds int, opts ...CertOption) (*x509.Certificate, error)

func (*CAClient) MakeAndWriteServerCertificate added in v0.6.0

func (caClient *CAClient) MakeAndWriteServerCertificate(ctx context.Context, certFile, keyFile string, hostnames []string, expireDays int) (*TLSCertificateConfig, error)

func (*CAClient) MakeClientCertificate added in v0.6.0

func (caClient *CAClient) MakeClientCertificate(ctx context.Context, certFile, keyFile string, subjectName string, expiryDays int) (*TLSCertificateConfig, error)

func (*CAClient) MakeServerCertificate added in v0.6.0

func (caClient *CAClient) MakeServerCertificate(ctx context.Context, hostnames []string, expiryDays int) (*TLSCertificateConfig, error)

func (*CAClient) PeerCertificateFromCtx added in v0.9.0

func (caClient *CAClient) PeerCertificateFromCtx(ctx context.Context) (*x509.Certificate, error)

func (*CAClient) PeerCertificateSignerFromCtx added in v0.9.0

func (caClient *CAClient) PeerCertificateSignerFromCtx(ctx context.Context) signer.Signer

type CertOption added in v0.9.0

type CertOption = func(*x509.Certificate) error

type TLSCertificateConfig

type TLSCertificateConfig oscrypto.TLSCertificateConfig

func GetClientCertificate

func GetClientCertificate(certFile, keyFile string, subjectName string) (*TLSCertificateConfig, error)

func GetServerCertificate added in v0.6.0

func GetServerCertificate(certFile, keyFile string, hostnames []string) (*TLSCertificateConfig, error)

func GetTLSCertificateConfig

func GetTLSCertificateConfig(certFile, keyFile string) (*TLSCertificateConfig, error)

func (*TLSCertificateConfig) GetPEMBytes

func (c *TLSCertificateConfig) GetPEMBytes() ([]byte, []byte, error)

func (*TLSCertificateConfig) WriteCertConfigFile

func (c *TLSCertificateConfig) WriteCertConfigFile(certFile, keyFile string) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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