MCPcopy Create free account
hub / github.com/cloudtools/ssh-cert-authority / extractCertFromRequest

Method extractCertFromRequest

sign_certd.go:364–383  ·  view source on GitHub ↗
(req *http.Request)

Source from the content-addressed store, hash-verified

362}
363
364func (h *certRequestHandler) extractCertFromRequest(req *http.Request) (*ssh.Certificate, error) {
365
366 if req.Form["cert"] == nil || len(req.Form["cert"]) == 0 {
367 err := errors.New("Please specify exactly one cert request")
368 return nil, err
369 }
370
371 rawCertRequest, err := base64.StdEncoding.DecodeString(req.Form["cert"][0])
372 if err != nil {
373 err := errors.New("Unable to base64 decode cert request")
374 return nil, err
375 }
376 pubKey, err := ssh.ParsePublicKey(rawCertRequest)
377 if err != nil {
378 err := errors.New("Unable to parse cert request")
379 return nil, err
380 }
381
382 return pubKey.(*ssh.Certificate), nil
383}
384
385func (h *certRequestHandler) validateCert(cert *ssh.Certificate, authorizedSigners map[string]string) error {
386 var certChecker ssh.CertChecker

Callers 2

createSigningRequestMethod · 0.95
signOrRejectRequestMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected