func CreateCACertificate(tb testing.TB, parent *x509.Certificate, parentKey crypto.Signer, options ...CertificateOption) (*x509.Certificate, crypto.Signer)
func CreateCertificate(tb testing.TB, tmpl, parent *x509.Certificate, pub, priv interface{}) *x509.Certificate
func CreateX509Certificate(tb testing.TB, parent *x509.Certificate, parentKey crypto.Signer, options ...CertificateOption) (*x509.Certificate, crypto.Signer)
func CreateX509SVID(tb testing.TB, parent *x509.Certificate, parentKey crypto.Signer, id spiffeid.ID, options ...CertificateOption) (*x509.Certificate, crypto.Signer)
func NewEC256Key(tb testing.TB) *ecdsa.PrivateKey
NewEC256Key returns an ECDSA key over the P256 curve
func NewKeyID(tb testing.TB) string
NewKeyID returns a random id useful for identifying keys
func NewSerial(tb testing.TB) *big.Int
type CA struct {
// contains filtered or unexported fields
}
func NewCA(tb testing.TB, td spiffeid.TrustDomain) *CA
func (ca *CA) Bundle() *spiffebundle.Bundle
func (ca *CA) ChildCA(options ...CertificateOption) *CA
func (ca *CA) CreateX509Certificate(options ...CertificateOption) ([]*x509.Certificate, crypto.Signer)
func (ca *CA) CreateX509SVID(id spiffeid.ID, options ...CertificateOption) *x509svid.SVID
func (ca *CA) CreateX509SVIDNoPrivateKey(id spiffeid.ID, options ...CertificateOption) *x509svid.SVID
func (ca *CA) X509Authorities() []*x509.Certificate
func (ca *CA) X509Bundle() *x509bundle.Bundle
type CertificateOption interface {
// contains filtered or unexported methods
}
func WithKeyUsage(keyUsage x509.KeyUsage) CertificateOption
func WithSerial(serial *big.Int) CertificateOption
func WithSubject(subject pkix.Name) CertificateOption
func WithURIs(uris ...*url.URL) CertificateOption
type WorkloadAPI struct {
// contains filtered or unexported fields
}
func NewWorkloadAPI(tb testing.TB) *WorkloadAPI
func (w *WorkloadAPI) Addr() string
func (w *WorkloadAPI) SetX509SVIDResponse(r *X509SVIDResponse)
func (w *WorkloadAPI) Stop()
type X509SVIDResponse struct { SVIDs []*x509svid.SVID Bundle *x509bundle.Bundle FederatedBundles []*x509bundle.Bundle }
func (r *X509SVIDResponse) ToProto(tb testing.TB) *workload.X509SVIDResponse