Documentation
¶
Index ¶
- Constants
- type AuthorityConfig
- type CA
- func (ca CA) IntermediateCertificate() *x509.Certificate
- func (ca CA) IntermediateKey() interface{}
- func (ca CA) NewAuthority(authorityConfig AuthorityConfig) (*authority.Authority, error)
- func (ca *CA) Provision(ctx caddy.Context, id string, log *zap.Logger) error
- func (ca CA) RootCertificate() *x509.Certificate
- func (ca CA) RootKey() (interface{}, error)
- type KeyPair
- type PKI
Constants ¶
const (
// DefaultCAID is the default CA ID.
DefaultCAID = "local"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthorityConfig ¶
type AuthorityConfig struct {
SignWithRoot bool
// TODO: should we just embed the underlying authority.Config struct type?
DB *db.AuthDB
AuthConfig *authority.AuthConfig
}
AuthorityConfig is used to help a CA configure the underlying signing authority.
type CA ¶
type CA struct {
// The user-facing name of the certificate authority.
Name string `json:"name,omitempty"`
// The name to put in the CommonName field of the
// root certificate.
RootCommonName string `json:"root_common_name,omitempty"`
// The name to put in the CommonName field of the
// intermediate certificates.
IntermediateCommonName string `json:"intermediate_common_name,omitempty"`
// Whether Caddy will attempt to install the CA's root
// into the system trust store, as well as into Java
// and Mozilla Firefox trust stores. Default: true.
InstallTrust *bool `json:"install_trust,omitempty"`
// The root certificate to use; if null, one will be generated.
Root *KeyPair `json:"root,omitempty"`
// The intermediate (signing) certificate; if null, one will be generated.
Intermediate *KeyPair `json:"intermediate,omitempty"`
// Optionally configure a separate storage module associated with this
// issuer, instead of using Caddy's global/default-configured storage.
// This can be useful if you want to keep your signing keys in a
// separate location from your leaf certificates.
StorageRaw json.RawMessage `json:"storage,omitempty" caddy:"namespace=caddy.storage inline_key=module"`
// The unique config-facing ID of the certificate authority.
// Since the ID is set in JSON config via object key, this
// field is exported only for purposes of config generation
// and module provisioning.
ID string `json:"-"`
// contains filtered or unexported fields
}
CA describes a certificate authority, which consists of root/signing certificates and various settings pertaining to the issuance of certificates and trusting them.
func (CA) IntermediateCertificate ¶
func (ca CA) IntermediateCertificate() *x509.Certificate
IntermediateCertificate returns the CA's intermediate certificate (public key).
func (CA) IntermediateKey ¶
func (ca CA) IntermediateKey() interface{}
IntermediateKey returns the CA's intermediate private key.
func (CA) NewAuthority ¶
func (ca CA) NewAuthority(authorityConfig AuthorityConfig) (*authority.Authority, error)
NewAuthority returns a new Smallstep-powered signing authority for this CA.
func (CA) RootCertificate ¶
func (ca CA) RootCertificate() *x509.Certificate
RootCertificate returns the CA's root certificate (public key).
type KeyPair ¶
type KeyPair struct {
// The certificate. By default, this should be the path to
// a PEM file unless format is something else.
Certificate string `json:"certificate,omitempty"`
// The private key. By default, this should be the path to
// a PEM file unless format is something else.
PrivateKey string `json:"private_key,omitempty"`
// The format in which the certificate and private
// key are provided. Default: pem_file
Format string `json:"format,omitempty"`
}
KeyPair represents a public-private key pair, where the public key is also called a certificate.
type PKI ¶
type PKI struct {
// The CAs to manage. Each CA is keyed by an ID that is used
// to uniquely identify it from other CAs. The default CA ID
// is "local".
CAs map[string]*CA `json:"certificate_authorities,omitempty"`
// contains filtered or unexported fields
}
PKI provides Public Key Infrastructure facilities for Caddy.
func (PKI) CaddyModule ¶
func (PKI) CaddyModule() caddy.ModuleInfo
CaddyModule returns the Caddy module information.