code: func (h *Handler) createSSHCertWithU2FSignResponse(w http.ResponseWriter, r *http.Request, p httprouter.Params) (interface{}, error) {
  	var req *client.CreateSSHCertWithU2FReq
  	if err := httplib.ReadJSON(r, &req); err != nil {
  		return nil, trace.Wrap(err)
  	}
  
  	cert, err := h.auth.GetCertificateWithU2F(*req)
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  	return cert, nil
  }
docs: // createSSHCertWithU2FSignResponse is a web call that generates new SSH certificate based
  // on user's name, password, U2F signature and public key user wishes to sign
  //
  // POST /v1/webapi/u2f/certs
  //
  // { "user": "bob", "password": "pass", "u2f_sign_response": { "signatureData": "signatureinbase64", "clientData": "verylongbase64string", "challenge": "randombase64string" }, "pub_key": "key to sign", "ttl": 1000000000 }
  //
  // Success response
  //
  // { "cert": "base64 encoded signed cert", "host_signers": [{"domain_name": "example.com", "checking_keys": ["base64 encoded public signing key"]}] }
  //