// newHandler generates a new sign handler (or info handler) using the certificate // authority private key and certficate to sign certificates. func newHandler(t *testing.T, caFile, caKeyFile, op string) (http.Handler, error) { var expiry = 1 * time.Minute var CAConfig = &config.Config{ Signing: &config.Signing{ Profiles: map[string]*config.SigningProfile{ "signature": &config.SigningProfile{ Usage: []string{"digital signature"}, Expiry: expiry, }, }, Default: &config.SigningProfile{ Usage: []string{"cert sign", "crl sign"}, ExpiryString: "43800h", Expiry: expiry, CA: true, ClientProvidesSerialNumbers: true, }, }, } s, err := local.NewSignerFromFile(testCaFile, testCaKeyFile, CAConfig.Signing) if err != nil { t.Fatal(err) } if op == "sign" { return apisign.NewHandlerFromSigner(s) } else if op == "info" { return apiinfo.NewHandler(s) } t.Fatal("Bad op code") return nil, nil }
func newTestInfoHandler(t *testing.T, s signer.Signer) (h http.Handler) { h, err := apiinfo.NewHandler(s) if err != nil { t.Fatal(err) } return }
} return signhandler.NewHandlerFromSigner(s) }, "authsign": func() (http.Handler, error) { if s == nil { return nil, errBadSigner } return signhandler.NewAuthHandlerFromSigner(s) }, "info": func() (http.Handler, error) { if s == nil { return nil, errBadSigner } return info.NewHandler(s) }, "gencrl": func() (http.Handler, error) { if s == nil { return nil, errBadSigner } return crl.NewHandler(), nil }, "newcert": func() (http.Handler, error) { if s == nil { return nil, errBadSigner } return generator.NewCertGeneratorHandlerFromSigner(generator.CSRValidate, s), nil },