certificates/scep/provisioner.go

25 lines
715 B
Go
Raw Normal View History

package scep
import (
"context"
"crypto"
"crypto/x509"
"time"
"github.com/smallstep/certificates/authority/provisioner"
)
// Provisioner is an interface that implements a subset of the provisioner.Interface --
// only those methods required by the SCEP api/authority.
type Provisioner interface {
AuthorizeSign(ctx context.Context, token string) ([]provisioner.SignOption, error)
GetName() string
DefaultTLSCertDuration() time.Duration
GetOptions() *provisioner.Options
GetCapabilities() []string
2022-01-19 10:31:33 +00:00
ShouldIncludeRootInChain() bool
GetDecrypter() (*x509.Certificate, crypto.Decrypter)
GetContentEncryptionAlgorithm() int
2023-05-01 20:09:42 +00:00
ValidateChallenge(ctx context.Context, challenge, transactionID string) error
}