seed

package
v1.0.32 Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CertificateSeed

type CertificateSeed struct {
	CACertFile  string
	CACountry   string
	CAKeyFile   string
	CALocality  string
	CAName      string
	CAOrg       string
	CAState     string
	DumpKeys    bool
	ECCurve     EllipticCurve
	ECScheme    bool
	NewCA       bool
	RSAKeySize  RSAKeySize
	RSAScheme   bool
	TLSAltFqdn  string
	TLSCertFile string
	TLSCountry  string
	TLSDomain   string
	TLSFqdn     string
	TLSHost     string
	TLSKeyFile  string
	TLSLocality string
	TLSOrg      string
	TLSState    string
}

CertificateSeed is responsible for parsing the X509 configuration into values that can be readily used to generate Root CA and TLS-related certificates. It will also validate the configuration provided to it upon instantiation.

func NewCertificateSeed

func NewCertificateSeed(cfg X509, lc log.Logger) (seed CertificateSeed, err error)

type DirectoryHandler

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

func NewDirectoryHandler

func NewDirectoryHandler(lc log.Logger) DirectoryHandler

func (DirectoryHandler) Create

func (h DirectoryHandler) Create(path string) error

func (DirectoryHandler) Verify

func (h DirectoryHandler) Verify(path string) error

type EllipticCurve

type EllipticCurve int
const (
	EC_224 EllipticCurve = 224
	EC_256 EllipticCurve = 256
	EC_384 EllipticCurve = 384
	EC_521 EllipticCurve = 521
)

type KeyScheme

type KeyScheme struct {
	DumpKeys   string `json:"dump_keys"`
	RSA        string `json:"rsa"`
	RSAKeySize string `json:"rsa_key_size"`
	EC         string `json:"ec"`
	ECCurve    string `json:"ec_curve"`
}

KeyScheme parameters (RSA vs EC) RSA: 1024, 2048, 4096 EC: 224, 256, 384, 521

type RSAKeySize

type RSAKeySize int
const (
	RSA_1024 RSAKeySize = 1024
	RSA_2048 RSAKeySize = 2048
	RSA_4096 RSAKeySize = 4096
)

type RootCA

type RootCA struct {
	CAName     string `json:"ca_name"`
	CACountry  string `json:"ca_c"`
	CAState    string `json:"ca_st"`
	CALocality string `json:"ca_l"`
	CAOrg      string `json:"ca_o"`
}

RootCA parameters from JSON: x509_root_ca_parameters

type TLSServer

type TLSServer struct {
	TLSHost     string `json:"tls_host"`
	TLSDomain   string `json:"tls_domain"`
	TLSCountry  string `json:"tls_c"`
	TLSSate     string `json:"tls_st"`
	TLSLocality string `json:"tls_l"`
	TLSOrg      string `json:"tls_o"`
}

TLSServer parameters from JSON config: x509_tls_server_parameters

type X509

type X509 struct {
	CreateNewRootCA string    `json:"create_new_rootca"`
	WorkingDir      string    `json:"working_dir"`
	PKISetupDir     string    `json:"pki_setup_dir"`
	DumpConfig      string    `json:"dump_config"`
	KeyScheme       KeyScheme `json:"key_scheme"`
	RootCA          RootCA    `json:"x509_root_ca_parameters"`
	TLSServer       TLSServer `json:"x509_tls_server_parameters"`
}

X509 JSON config file main structure

func NewX509

func NewX509(configFilePtr string) (X509, error)

func (X509) GetCAPemFileName

func (cfg X509) GetCAPemFileName() string

GetCAPemFileName returns the file name of CA certificate

func (X509) GetCAPrivateKeyFileName

func (cfg X509) GetCAPrivateKeyFileName() string

GetCAPrivateKeyFileName returns the file name of CA private key

func (X509) GetTLSPemFileName

func (cfg X509) GetTLSPemFileName() string

GetTLSPemFileName returns the file name of TLS certificate

func (X509) GetTLSPrivateKeyFileName

func (cfg X509) GetTLSPrivateKeyFileName() string

GetTLSPrivateKeyFileName returns the file name of TLS private key

func (X509) PkiCADir

func (cfg X509) PkiCADir() (string, error)

PkiCADir returns the pkisetup root CA dir

Jump to

Keyboard shortcuts

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