mirror of
https://github.com/optim-enterprises-bv/kubernetes.git
synced 2025-11-11 00:56:14 +00:00
Vendor cfssl and cfssljson
This commit is contained in:
50
vendor/github.com/cloudflare/cfssl/api/certinfo/certinfo.go
generated
vendored
Normal file
50
vendor/github.com/cloudflare/cfssl/api/certinfo/certinfo.go
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
// Package certinfo implements the HTTP handler for the certinfo command.
|
||||
package certinfo
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/cloudflare/cfssl/api"
|
||||
"github.com/cloudflare/cfssl/certinfo"
|
||||
"github.com/cloudflare/cfssl/log"
|
||||
)
|
||||
|
||||
// Handler accepts requests for either remote or uploaded
|
||||
// certificates to be bundled, and returns a certificate bundle (or
|
||||
// error).
|
||||
type Handler struct{}
|
||||
|
||||
// NewHandler creates a new bundler that uses the root bundle and
|
||||
// intermediate bundle in the trust chain.
|
||||
func NewHandler() http.Handler {
|
||||
return api.HTTPHandler{Handler: new(Handler), Methods: []string{"POST"}}
|
||||
}
|
||||
|
||||
// Handle implements an http.Handler interface for the bundle handler.
|
||||
func (h *Handler) Handle(w http.ResponseWriter, r *http.Request) (err error) {
|
||||
blob, matched, err := api.ProcessRequestFirstMatchOf(r,
|
||||
[][]string{
|
||||
{"certificate"},
|
||||
{"domain"},
|
||||
})
|
||||
if err != nil {
|
||||
log.Warningf("invalid request: %v", err)
|
||||
return err
|
||||
}
|
||||
|
||||
var cert *certinfo.Certificate
|
||||
switch matched[0] {
|
||||
case "domain":
|
||||
if cert, err = certinfo.ParseCertificateDomain(blob["domain"]); err != nil {
|
||||
log.Warningf("couldn't parse remote certificate: %v", err)
|
||||
return err
|
||||
}
|
||||
case "certificate":
|
||||
if cert, err = certinfo.ParseCertificatePEM([]byte(blob["certificate"])); err != nil {
|
||||
log.Warningf("bad PEM certifcate: %v", err)
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return api.SendResponse(w, cert)
|
||||
}
|
||||
Reference in New Issue
Block a user