code: func (c *ACMEClient) Revoke(name string) error {
  	storage, err := c.config.StorageFor(c.config.CAUrl)
  	if err != nil {
  		return err
  	}
  
  	siteExists, err := storage.SiteExists(name)
  	if err != nil {
  		return err
  	}
  
  	if !siteExists {
  		return errors.New("no certificate and key for " + name)
  	}
  
  	siteData, err := storage.LoadSite(name)
  	if err != nil {
  		return err
  	}
  
  	err = c.acmeClient.RevokeCertificate(siteData.Cert)
  	if err != nil {
  		return err
  	}
  
  	err = storage.DeleteSite(name)
  	if err != nil {
  		return errors.New("certificate revoked, but unable to delete certificate file: " + err.Error())
  	}
  
  	return nil
  }
docs: // Revoke revokes the certificate for name and deltes
  // it from storage.