Documentation ¶
Index ¶
- func DecodeSCEPResponse(ctx context.Context, r *http.Response) (interface{}, error)
- func EncodeSCEPRequest(ctx context.Context, r *http.Request, request interface{}) error
- func ServiceHandler(ctx context.Context, svc Service, logger kitlog.Logger) http.Handler
- type SCEPRequest
- type SCEPResponse
- type Service
- type ServiceOption
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DecodeSCEPResponse ¶
DecodeSCEPResponse decodes a SCEP response
func EncodeSCEPRequest ¶
EncodeSCEPRequest encodes a SCEP http request
Types ¶
type SCEPRequest ¶
SCEPRequest is a SCEP server request.
type SCEPResponse ¶
SCEPResponse is a SCEP server response. Business errors will be encoded as a CertRep message with pkiStatus FAILURE and a failInfo attribute.
type Service ¶
type Service interface { // GetCACaps returns a list of options // which are supported by the server. GetCACaps(ctx context.Context) ([]byte, error) // GetCACert returns CA certificate or // a CA certificate chain with intermediates // in a PKCS#7 Degenerate Certificates format GetCACert(ctx context.Context) ([]byte, int, error) // PKIOperation handles incoming SCEP messages such as PKCSReq and // sends back a CertRep PKIMessag. PKIOperation(ctx context.Context, msg []byte) ([]byte, error) // GetNextCACert returns a replacement certificate or certificate chain // when the old one expires. The response format is a PKCS#7 Degenerate // Certificates type. GetNextCACert(ctx context.Context) ([]byte, error) }
Service is the interface for all supported SCEP server operations.
func NewLoggingService ¶
NewLoggingService creates adds logging to the SCEP service
func NewService ¶
func NewService(depot depot.Depot, opts ...ServiceOption) (Service, error)
NewService creates a new scep service
type ServiceOption ¶
type ServiceOption func(*service) error
ServiceOption is a server configuration option
func AllowRenewal ¶
func AllowRenewal(duration int) ServiceOption
allowRenewal sets the days before expiry which we are allowed to renew (optional)
func CAKeyPassword ¶
func CAKeyPassword(pw []byte) ServiceOption
CAKeyPassword is an optional argument to NewService for specifying the CA private key password.
func ChallengePassword ¶
func ChallengePassword(pw string) ServiceOption
ChallengePassword is an optional argument to NewService which allows setting a preshared key for SCEP.
func ClientValidity ¶
func ClientValidity(duration int) ServiceOption
ClientValidity sets the validity of signed client certs in days (optional parameter)