featureset

package
v1.5.4 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2021 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// IPAddressFeature denotes tests that set the IPAddresses field.
	// Some issuer's are never going to allow issuing certificates with IP SANs
	// set as they are considered bad-practice.
	IPAddressFeature Feature = "IPAddresses"

	// DurationFeature denotes tests that set the 'duration' field to some
	// custom value.
	// Some issuers enforce a particular certificate duration, meaning they
	// will never pass tests that validate the duration is as expected.
	DurationFeature Feature = "Duration"

	// WildcardsFeature denotes tests that request certificates for wildcard
	// domains. Some issuer's disable wildcard certificate issuance, so this
	// feature allows runs of the suite to exclude those tests that utilise
	// wildcards.
	WildcardsFeature Feature = "Wildcards"

	// ECDSAFeature denotes whether the target issuer is able to sign
	// certificates with an elliptic curve private key.
	ECDSAFeature Feature = "ECDSA"

	// ReusePrivateKey denotes whether the target issuer is able to sign multiple
	// certificates for the same private key.
	ReusePrivateKeyFeature Feature = "ReusePrivateKey"

	// URISANs denotes whether to the target issuer is able to sign a certificate
	// that includes a URISANs. ACME providers do not support this.
	URISANsFeature Feature = "URISANs"

	// EmailSANs denotes whether to the target issuer is able to sign a certificate
	// that includes a EmailSANs.
	EmailSANsFeature Feature = "EmailSANs"

	// CommonName denotes whether the target issuer is able to sign certificates
	// with a distinct CommonName. This is useful for issuers such as ACME
	// providers that ignore, or otherwise have special requirements for the
	// CommonName such as needing to be present in the DNS Name list.
	CommonNameFeature = "CommonName"

	// KeyUsages denotes whether the target issuer is able to sign certificates
	// with arbitrary key usages.
	KeyUsagesFeature = "KeyUsages"

	// OnlySAN denotes whether the target issuer is able to sign certificates
	// with only SANs set
	OnlySAN = "OnlySAN"

	// SaveCAToSecret denotes whether the target issuer returns a CA
	// certificate which can be stored in the ca.crt field of the Secret.
	SaveCAToSecret = "SaveCAToSecret"

	// SaveRootCAToSecret denotes whether the CA certificate is expected to
	// represent a root CA (sub-feature of SaveCAToSecret)
	SaveRootCAToSecret = "SaveRootCAToSecret"

	// Ed25519FeatureSet denotes whether the target issuer is able to sign
	// certificates with an Ed25519 private key.
	Ed25519FeatureSet Feature = "Ed25519"

	// IssueCAFeature denotes whether the target issuer is able to issue CA
	// certificates (i.e., certificates for which the CA basicConstraint is true)
	IssueCAFeature Feature = "IssueCA"

	// LongDomainFeatureSet denotes whether the target issuer is able to sign
	// a certificate that defines a domain containing a label of 63 characters.
	LongDomainFeatureSet Feature = "LongDomain"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Feature

type Feature string

func (Feature) String

func (f Feature) String() string

String returns the Feature name as a string

type FeatureSet

type FeatureSet map[Feature]struct{}

FeatureSet represents a set of features. This type does not indicate whether or not features are enabled, rather it just defines a grouping of features (i.e. a 'set').

func NewFeatureSet

func NewFeatureSet(feats ...Feature) FeatureSet

NewFeatureSet constructs a new feature set with the given features.

func (FeatureSet) Add

func (fs FeatureSet) Add(f ...Feature) FeatureSet

Add adds features to the set

func (FeatureSet) Contains

func (fs FeatureSet) Contains(f Feature) bool

Contains returns true if the FeatureSet contains the given feature

func (FeatureSet) Copy added in v1.5.1

func (fs FeatureSet) Copy() FeatureSet

Copy returns a new copy of an existing Feature Set. It is not safe to be called by multiple goroutines.

func (FeatureSet) Delete

func (fs FeatureSet) Delete(f Feature)

Delete removes a feature from the set

func (FeatureSet) List added in v1.5.1

func (fs FeatureSet) List() []Feature

List returns a slice of all features in the set.

func (FeatureSet) String

func (fs FeatureSet) String() string

String returns this FeatureSet as a comma separated string

Jump to

Keyboard shortcuts

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