ca

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2023 License: MIT Imports: 17 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	UnknownPrivateKeyError = errors.New("unknown private key")
	UnknownAlgorithmError  = errors.New("unknown algorithm")
)

Functions

func CreateCertificate

func CreateCertificate(keyPair KeyPair, opts CertificateOptions) (*x509.Certificate, error)

func CreateMiddleCACertificate

func CreateMiddleCACertificate(keyPair KeyPair, opts CertificateOptions) (*x509.Certificate, error)

func CreateSelfSignedCACertificate

func CreateSelfSignedCACertificate(keyPair KeyPair, opts CertificateOptions) (*x509.Certificate, error)

func EncodeCertificateChain

func EncodeCertificateChain(out io.Writer, certificates []*x509.Certificate) (err error)

func EncodePKCS1PrivateKey

func EncodePKCS1PrivateKey(out io.Writer, privateKey any) (err error)

func EncodePKCS8PrivateKey

func EncodePKCS8PrivateKey(out io.Writer, privateKey any) error

Types

type CertificateOptions

type CertificateOptions struct {
	IsCA             bool
	Issuer           *x509.Certificate
	IssuerPrivateKey any

	Subject   pkix.Name
	NotBefore time.Time
	NotAfter  time.Time
	IPs       []net.IP
	Domains   []string
}

func (*CertificateOptions) IsMiddleCA

func (c *CertificateOptions) IsMiddleCA() bool

func (*CertificateOptions) IsRootCA

func (c *CertificateOptions) IsRootCA() bool

func (*CertificateOptions) ToX509Template

func (c *CertificateOptions) ToX509Template() *x509.Certificate

type CertificateOptionsBuilder

type CertificateOptionsBuilder struct {
	// contains filtered or unexported fields
}

func NewCertificationOptionBuilder

func NewCertificationOptionBuilder() *CertificateOptionsBuilder

func (*CertificateOptionsBuilder) Build

func (*CertificateOptionsBuilder) WithCA

func (*CertificateOptionsBuilder) WithDomains

func (b *CertificateOptionsBuilder) WithDomains(domains []string) *CertificateOptionsBuilder

func (*CertificateOptionsBuilder) WithIPs

func (*CertificateOptionsBuilder) WithIssuer

func (*CertificateOptionsBuilder) WithIssuerPrivateKey

func (b *CertificateOptionsBuilder) WithIssuerPrivateKey(issuerPrivateKey any) *CertificateOptionsBuilder

func (*CertificateOptionsBuilder) WithNotAfter

func (b *CertificateOptionsBuilder) WithNotAfter(notAfter time.Time) *CertificateOptionsBuilder

func (*CertificateOptionsBuilder) WithNotBefore

func (b *CertificateOptionsBuilder) WithNotBefore(notBefore time.Time) *CertificateOptionsBuilder

func (*CertificateOptionsBuilder) WithSubject

type KeyOptions

type KeyOptions struct {
	Random  io.Reader
	KeySize int
	Curve   elliptic.Curve
}

type KeyOptionsBuilder

type KeyOptionsBuilder struct {
	// contains filtered or unexported fields
}

func NewKeyOptionBuilder

func NewKeyOptionBuilder() *KeyOptionsBuilder

func (*KeyOptionsBuilder) Build

func (b *KeyOptionsBuilder) Build() KeyOptions

func (*KeyOptionsBuilder) WithCurve

func (b *KeyOptionsBuilder) WithCurve(curve elliptic.Curve) *KeyOptionsBuilder

func (*KeyOptionsBuilder) WithKeySize

func (b *KeyOptionsBuilder) WithKeySize(keySize int) *KeyOptionsBuilder

func (*KeyOptionsBuilder) WithRandom

func (b *KeyOptionsBuilder) WithRandom(random io.Reader) *KeyOptionsBuilder

type KeyPair

type KeyPair struct {
	PublicKey  any
	PrivateKey any
}

func NewKeyPair

func NewKeyPair(privateKey any) (KeyPair, error)

type KeyPairGenerator

type KeyPairGenerator interface {
	GenerateKeyPair() (KeyPair, error)
}

func GetKeyPairGenerator

func GetKeyPairGenerator(algorithm string, opts KeyOptions) (KeyPairGenerator, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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