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 (X509) GetCAPemFileName ¶
GetCAPemFileName returns the file name of CA certificate
func (X509) GetCAPrivateKeyFileName ¶
GetCAPrivateKeyFileName returns the file name of CA private key
func (X509) GetTLSPemFileName ¶
GetTLSPemFileName returns the file name of TLS certificate
func (X509) GetTLSPrivateKeyFileName ¶
GetTLSPrivateKeyFileName returns the file name of TLS private key