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" // LiteralSubjectFeature denotes whether the target issuer is able to sign // a certificate containing an arbitrary Subject in the CSR, without // imposing requirements on form or structure. LiteralSubjectFeature Feature = "LiteralCertificateSubject" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
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 ¶
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 ¶
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
Click to show internal directories.
Click to hide internal directories.