certs

package
v0.0.0-...-f24f028 Latest Latest
Warning

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

Go to latest
Published: May 4, 2024 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrInvalid = errs.Kind("invalid")
	ErrNil     = errs.Kind("nil")

	ErrPEM           = errs.Entity("PEM key bytes")
	ErrCertificate   = errs.Entity("certificate")
	ErrCACertificate = errs.Entity("CA certificate")
)

Variables

View Source
var (
	ErrInvalidPEM       = errs.WithDomain(errDomain, ErrInvalid, ErrPEM)
	ErrNilCertificate   = errs.WithDomain(errDomain, ErrNil, ErrCertificate)
	ErrNilCACertificate = errs.WithDomain(errDomain, ErrNil, ErrCACertificate)
)

Functions

func Decode

func Decode(cert []byte) (*x509.Certificate, error)

func Encode

func Encode(template, parent *x509.Certificate, pub *ecdsa.PublicKey, priv *ecdsa.PrivateKey) ([]byte, error)

func NewCACertificate

func NewCACertificate(t Template) (cert []byte, err error)

func NewCertFromCSR

func NewCertFromCSR(version, durMonth int, issuer pkix.Name, csr *x509.CertificateRequest) (*x509.Certificate, error)

func ToCSR

func ToCSR(name string, pub *ecdsa.PublicKey, req *pb.CSR) *x509.CertificateRequest

func Verify

func Verify(certPEM []byte, root *x509.Certificate, intermediates *x509.CertPool) error

func WithDurMonth

func WithDurMonth(durMonth int) cfg.Option[Template]

func WithName

func WithName(name pkix.Name) cfg.Option[Template]

func WithNewSerial

func WithNewSerial(exp, sub int64) cfg.Option[Template]

func WithPrivateKey

func WithPrivateKey(key *ecdsa.PrivateKey) cfg.Option[Template]

func WithSerial

func WithSerial(i *big.Int) cfg.Option[Template]

Types

type Template

type Template struct {
	Name       pkix.Name
	DurMonth   int
	PrivateKey *ecdsa.PrivateKey

	Serial    *big.Int
	SerialExp int64
	SerialSub int64
}

func DefaultTemplate

func DefaultTemplate() Template

Jump to

Keyboard shortcuts

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