mtls

package
v4.0.20 Latest Latest
Warning

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

Go to latest
Published: Apr 8, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DecodeCrt

func DecodeCrt(rawcrt []byte) (*x509.Certificate, error)

func DecodeCrtKey

func DecodeCrtKey(rawcrt []byte, rawkey []byte) (*x509.Certificate, crypto.PrivateKey, error)

func DecodeKey

func DecodeKey(rawkey []byte) (crypto.PrivateKey, error)

func EncodeCrt

func EncodeCrt(crts ...*x509.Certificate) ([]byte, error)

func EncodeCsr

func EncodeCsr(csr *x509.Certificate) ([]byte, error)

func EncodeKey

func EncodeKey(privkey crypto.PrivateKey) ([]byte, error)

func NewCA

func NewCA(opts ...CertificateOption) ([]byte, crypto.PrivateKey, error)

NewCA creates new CA keypair

func NewCertificateRequest

func NewCertificateRequest(opts ...CertificateOption) ([]byte, crypto.PrivateKey, error)

NewCertificateRequest create new certificate signing request and return key, csr in byte slice and err

func NewIntermediate

func NewIntermediate(cacrt *x509.Certificate, cakey crypto.PrivateKey, opts ...CertificateOption) ([]byte, crypto.PrivateKey, error)

func NewServerConfig

func NewServerConfig(src *tls.Config) *tls.Config

func SignCSR

func SignCSR(rawcsr []byte, cacrt *x509.Certificate, cakey crypto.PrivateKey, opts ...CertificateOption) ([]byte, error)

SignCSR sign certificate request and return signed pubkey

Types

type CertificateOption

type CertificateOption func(*CertificateOptions)

CertificateOption func signature

func CertificateCommonName

func CertificateCommonName(s string) CertificateOption

CertificateCommonName set CommonName in certificate subject

func CertificateExtKeyUsage

func CertificateExtKeyUsage(x ...x509.ExtKeyUsage) CertificateOption

CertificateExtKeyUsage set ExtKeyUsage in certificate

func CertificateIsCA

func CertificateIsCA(b bool) CertificateOption

CertificateIsCA set IsCA in certificate

func CertificateIssuingCertificateURL

func CertificateIssuingCertificateURL(s ...string) CertificateOption

CertificateIssuingCertificateURL set IssuingCertificateURL in certificate

func CertificateKeyUsage

func CertificateKeyUsage(u x509.KeyUsage) CertificateOption

CertificateKeyUsage set KeyUsage in certificate

func CertificateNotAfter

func CertificateNotAfter(t time.Time) CertificateOption

CertificateNotAfter set NotAfter in certificate

func CertificateNotBefore

func CertificateNotBefore(t time.Time) CertificateOption

CertificateNotBefore set SerialNumber in certificate

func CertificateOCSPServer

func CertificateOCSPServer(s ...string) CertificateOption

CertificateOCSPServer set OCSPServer in certificate

func CertificateOrganization

func CertificateOrganization(s ...string) CertificateOption

CertificateOrganization set Organization in certificate subject

func CertificateOrganizationalUnit

func CertificateOrganizationalUnit(s ...string) CertificateOption

CertificateOrganizationalUnit set OrganizationalUnit in certificate subject

func CertificatePublicKeyAlgorithm

func CertificatePublicKeyAlgorithm(alg x509.PublicKeyAlgorithm) CertificateOption

CertificatePublicKeyAlgorithm set PublicKeyAlgorithm in certificate

func CertificateSerialNumber

func CertificateSerialNumber(n *big.Int) CertificateOption

CertificateSerialNumber set SerialNumber in certificate

func CertificateSignatureAlgorithm

func CertificateSignatureAlgorithm(alg x509.SignatureAlgorithm) CertificateOption

CertificateSignatureAlgorithm set SignatureAlgorithm in certificate

type CertificateOptions

type CertificateOptions struct {
	Organization          []string
	OrganizationalUnit    []string
	CommonName            string
	OCSPServer            []string
	IssuingCertificateURL []string
	SerialNumber          *big.Int
	NotAfter              time.Time
	NotBefore             time.Time
	SignatureAlgorithm    x509.SignatureAlgorithm
	PublicKeyAlgorithm    x509.PublicKeyAlgorithm
	ExtKeyUsage           []x509.ExtKeyUsage
	KeyUsage              x509.KeyUsage
	IsCA                  bool
}

CertificateOptions holds options for x509.CreateCertificate

func NewCertificateOptions

func NewCertificateOptions(opts ...CertificateOption) CertificateOptions

type ServerOption

type ServerOption func(*ServerOptions)

ServerOption func signature

type ServerOptions

type ServerOptions struct {
	ServerName string
	RootCAs    []string
	ClientCAs  []string
}

ServerOptions holds server specific options

Jump to

Keyboard shortcuts

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