ca

package
v1.0.1-0...-f351835 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2021 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CertificateAuthority

type CertificateAuthority interface {
	LoadOrStoreTrustBundle() error
	GetCACertBundle() TrustRootBundler
	SignCSR(csrPem []byte, subject string, identity *identity.Bundle, ttl time.Duration, isCA bool) (*SignedCertificate, error)
	ValidateCSR(csr *x509.CertificateRequest) error
}

CertificateAuthority represents an interface for a compliant Certificate Authority. Responsibilities include loading trust anchors and issuer certs, providing safe access to the trust bundle, Validating and signing CSRs

func NewCertificateAuthority

func NewCertificateAuthority(config config.SentryConfig) (CertificateAuthority, error)

type SignedCertificate

type SignedCertificate struct {
	Certificate *x509.Certificate
	CertPEM     []byte
}

type TrustRootBundler

type TrustRootBundler interface {
	GetIssuerCertPem() []byte
	GetRootCertPem() []byte
	GetIssuerCertExpiry() time.Time
	GetTrustAnchors() *x509.CertPool
	GetTrustDomain() string
}

TrustRootBundle represents the root certificate, issuer certificate and their Respective expiry dates.

Jump to

Keyboard shortcuts

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