Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CertificateAuthority ¶
type CertificateAuthority struct {
// RawCert is an optional field to determine if signing cert/key pairs have changed
RawCert []byte
// RawKey is an optional field to determine if signing cert/key pairs have changed
RawKey []byte
Certificate *x509.Certificate
PrivateKey crypto.Signer
}
CertificateAuthority implements a certificate authority that supports policy based signing. It's used by the signing controller.
func (*CertificateAuthority) Sign ¶
func (ca *CertificateAuthority) Sign(crDER []byte, policy SigningPolicy) ([]byte, error)
Sign signs a certificate request, applying a SigningPolicy and returns a DER encoded x509 certificate.
type PermissiveSigningPolicy ¶
type PermissiveSigningPolicy struct {
// TTL is used in certificate NotAfter calculation as described above.
TTL time.Duration
// Usages are the allowed usages of a certificate.
Usages []capi.KeyUsage
// Backdate is used in certificate NotBefore calculation as described above.
Backdate time.Duration
// Short is the duration used to determine if the lifetime of a certificate should be considered short.
Short time.Duration
// Now defaults to time.Now but can be stubbed for testing
Now func() time.Time
}
PermissiveSigningPolicy is the signing policy historically used by the local signer.
- It forwards all SANs from the original signing request.
- It sets allowed usages as configured in the policy.
- It zeros all extensions.
- It sets BasicConstraints to true.
- It sets IsCA to false.
- It validates that the signer has not expired.
- It sets NotBefore and NotAfter: All certificates set NotBefore = Now() - Backdate. Long-lived certificates set NotAfter = Now() + TTL - Backdate. Short-lived certificates set NotAfter = Now() + TTL. All certificates truncate NotAfter to the expiration date of the signer.
type SigningPolicy ¶
type SigningPolicy interface {
// contains filtered or unexported methods
}
SigningPolicy validates a CertificateRequest before it's signed by the CertificateAuthority. It may default or otherwise mutate a certificate template.
Click to show internal directories.
Click to hide internal directories.