code: func (c *CAClientImpl) Reenroll(request *api.ReenrollmentRequest) error {
  
  	if c.adapter == nil {
  		return fmt.Errorf("no CAs configured for organization: %s", c.orgName)
  	}
  	if request.Name == "" {
  		logger.Info("invalid re-enroll request, missing enrollmentID")
  		return errors.New("user name missing")
  	}
  
  	user, err := c.identityManager.GetSigningIdentity(request.Name)
  	if err != nil {
  		return errors.Wrapf(err, "failed to retrieve user: %s", request.Name)
  	}
  
  	cert, err := c.adapter.Reenroll(user.PrivateKey(), user.EnrollmentCertificate(), request)
  	if err != nil {
  		return errors.Wrap(err, "reenroll failed")
  	}
  	userData := &msp.UserData{
  		MSPID:                 c.orgMSPID,
  		ID:                    user.Identifier().ID,
  		EnrollmentCertificate: cert,
  	}
  	err = c.userStore.Store(userData)
  	if err != nil {
  		return errors.Wrap(err, "reenroll failed")
  	}
  
  	return nil
  }
docs: // Reenroll an enrolled user in order to obtain a new signed X509 certificate