certificates

package
v0.0.0-...-602e6ae Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2020 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

Types

type CSRSubject

type CSRSubject struct {
	CommonName string
	CSRSubjectConsts
}

type CSRSubjectConsts

type CSRSubjectConsts struct {
	Country            string
	Organization       string
	OrganizationalUnit string
	Locality           string
	Province           string
}

func (CSRSubjectConsts) ToString

func (s CSRSubjectConsts) ToString(commonName string) string

type Cache

type Cache interface {
	Put(certName string, data map[string][]byte)
	Get(certName string) (map[string][]byte, apperrors.AppError)
}

func NewCertificateCache

func NewCertificateCache() Cache

type CertificateUtility

type CertificateUtility interface {
	LoadCert(encodedData []byte) (*x509.Certificate, apperrors.AppError)
	LoadKey(encodedData []byte) (*rsa.PrivateKey, apperrors.AppError)
	LoadCSR(encodedData []byte) (*x509.CertificateRequest, apperrors.AppError)
	CheckCSRValues(csr *x509.CertificateRequest, subject CSRSubject) apperrors.AppError
	SignCSR(caCrt *x509.Certificate, csr *x509.CertificateRequest, caKey *rsa.PrivateKey) ([]byte, apperrors.AppError)
	AddCertificateHeaderAndFooter(crtRaw []byte) []byte
}

func NewCertificateUtility

func NewCertificateUtility(certificateValidityTime time.Duration) CertificateUtility

type EncodedCertificateChain

type EncodedCertificateChain struct {
	CertificateChain  string
	ClientCertificate string
	CaCertificate     string
}

type Loader

type Loader interface {
	Run()
}

func NewCertificateLoader

func NewCertificateLoader(certsCache Cache,
	secretsRepository secrets.Repository,
	caCertSecret types.NamespacedName,
	rootCACertSecretName types.NamespacedName) Loader

type Service

type Service interface {
	// SignCSR takes encoded CSR, validates subject and generates Certificate based on CA stored in secret
	// returns base64 encoded certificate chain
	SignCSR(encodedCSR []byte, subject CSRSubject) (EncodedCertificateChain, apperrors.AppError)
}

func NewCertificateService

func NewCertificateService(
	certsCache Cache,
	certUtil CertificateUtility,
	caCertSecretName, rootCACertSecretName string,
	caCertSecretKey, caKeySecretKey, rootCACertSecretKey string) Service

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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