code: func (wfe *WebFrontEndImpl) RevokeCertificate(
  	ctx context.Context,
  	logEvent *web.RequestEvent,
  	response http.ResponseWriter,
  	request *http.Request) {
  
  	// The ACME specification handles the verification of revocation requests
  	// differently from other endpoints. For this reason we do *not* immediately
  	// call `wfe.validPOSTForAccount` like all of the other endpoints.
  	// For this endpoint we need to accept a JWS with an embedded JWK, or a JWS
  	// with an embedded key ID, handling each case differently in terms of which
  	// certificates are authorized to be revoked by the requester
  
  	// Parse the JWS from the HTTP Request
  	jws, prob := wfe.parseJWSRequest(request)
  	if prob != nil {
  		wfe.sendError(response, logEvent, prob, nil)
  		return
  	}
  
  	// Figure out which type of authentication this JWS uses
  	authType, prob := checkJWSAuthType(jws)
  	if prob != nil {
  		wfe.sendError(response, logEvent, prob, nil)
  		return
  	}
  
  	// Handle the revocation request according to how it is authenticated, or if
  	// the authentication type is unknown, error immediately
  	if authType == embeddedKeyID {
  		prob = wfe.revokeCertByKeyID(ctx, jws, request, logEvent)
  		addRequesterHeader(response, logEvent.Requester)
  	} else if authType == embeddedJWK {
  		prob = wfe.revokeCertByJWK(ctx, jws, request, logEvent)
  	} else {
  		prob = probs.Malformed("Malformed JWS, no KeyID or embedded JWK")
  	}
  	if prob != nil {
  		wfe.sendError(response, logEvent, prob, nil)
  		return
  	}
  	response.WriteHeader(http.StatusOK)
  }
docs: // RevokeCertificate is used by clients to request the revocation of a cert. The
  // revocation request is handled uniquely based on the method of authentication
  // used.