Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Identity ¶
type Identity struct { Authorities []*x509.Certificate Certificate *x509.Certificate Key *rsa.PrivateKey }
Identity represents an X.509 identity.
func NewIdentity ¶
func NewIdentity(authorities []*x509.Certificate, certificate *x509.Certificate, key *rsa.PrivateKey) *Identity
NewIdentity returns a new identity.
type IdentityBuilder ¶
type IdentityBuilder struct {
// contains filtered or unexported fields
}
IdentityBuilder provides an builder for Identity instances.
func NewIdentityBuilder ¶
func NewIdentityBuilder() *IdentityBuilder
NewIdentityBuilder returns a new instance of the IdentityBuilder structure.
func (*IdentityBuilder) Build ¶
func (b *IdentityBuilder) Build() (*Identity, error)
Build creates a Identity from the IdentityBuilder.
func (*IdentityBuilder) WithAuthorities ¶
func (b *IdentityBuilder) WithAuthorities(authorities string) *IdentityBuilder
WithAuthorities sets the certificate authorities that issued the identity. The value must be a URL that points to the location of PEM encoded certificates.
Note that in addition to those schemes supported by [getter](https://godoc.org/github.com/hashicorp/go-getter) a "base64" scheme is supported for providing the PEM encoded certifiate in the path of the URL directly. This is most applicable when the certificate data must be provided via an environement variable.
func (*IdentityBuilder) WithCertificate ¶
func (b *IdentityBuilder) WithCertificate(certificate string) *IdentityBuilder
WithCertificate sets the certificate for the identity. The value must be a URL that points to the location of a PEM encoded X.509 certificate.
Note that in addition to those schemes supported by [getter](https://godoc.org/github.com/hashicorp/go-getter) a "base64" scheme is supported for providing the PEM encoded certifiate in the path of the URL directly. This is most applicable when the certificate data must be provided via an environement variable.
func (*IdentityBuilder) WithKey ¶
func (b *IdentityBuilder) WithKey(key string) *IdentityBuilder
WithKey sets the key for the identity. The value must be a URL that points to the location of a PEM encoded RSA key.
Note that in addition to those schemes supported by [getter](https://godoc.org/github.com/hashicorp/go-getter) a "base64" scheme is supported for providing the PEM encoded certifiate in the path of the URL directly. This is most applicable when the certificate data must be provided via an environement variable.
type IdentityConfig ¶
type IdentityConfig struct { Authorities string `json:"authorities" mapstructure:"authorities" yaml:"authorities"` Certificate string `json:"certificate" mapstructure:"certificate" yaml:"certificate"` Key string `json:"key" mapstructure:"key" yaml:"key"` }
IdentityConfig provides a serializable representation of an Identity structure.
func (*IdentityConfig) Build ¶
func (c *IdentityConfig) Build() (*Identity, error)
Build creates an Identity from the IdentityConfig instance.
type Template ¶
type Template struct { AuthorityKeyID []byte BasicConstraintsValid bool CRLDistributionPoints []string DNSNames []string EmailAddresses []string ExcludedDNSDomains []string ExcludedEmailAddresses []string ExcludedIPRanges []*net.IPNet ExcludedURIDomains []string ExtKeyUsage []x509.ExtKeyUsage ExtraExtensions []pkix.Extension IsCA bool IssuingCertificateURL []string KeyUsage x509.KeyUsage MaxPathLen int MaxPathLenZero bool NotAfter time.Time NotBefore time.Time OCSPServer []string PermittedDNSDomains []string PermittedDNSDomainsCritical bool PermittedEmailAddresses []string PermittedIPRanges []*net.IPNet PermittedURIDomains []string PolicyIdentifiers []asn1.ObjectIdentifier SerialNumber *big.Int SignatureAlgorithm x509.SignatureAlgorithm Subject pkix.Name SubjectKeyID []byte URIs []*url.URL UnknownExtKeyUsage []asn1.ObjectIdentifier }