code: func (s *Signer) Sign(req signer.SignRequest) (cert []byte, err error) {
  	profile, err := s.getMatchingProfile(req.Profile)
  	if err != nil {
  		return cert, err
  	}
  
  	if profile.RemoteServer != "" {
  		return s.remote.Sign(req)
  	}
  	return s.local.Sign(req)
  
  }
docs: // Sign sends a signature request to either the remote or local signer,
  // receiving a signed certificate or an error in response.