code: func (s *MSPMessageCryptoService) Verify(peerIdentity api.PeerIdentityType, signature, message []byte) error {
  	identity, chainID, err := s.getValidatedIdentity(peerIdentity)
  	if err != nil {
  		mcsLogger.Errorf("Failed getting validated identity from peer identity [%s]", err)
  
  		return err
  	}
  
  	if len(chainID) == 0 {
  		// At this stage, this means that peerIdentity
  		// belongs to this peer's LocalMSP.
  		// The signature is validated directly
  		return identity.Verify(message, signature)
  	}
  
  	// At this stage, the signature must be validated
  	// against the reader policy of the channel
  	// identified by chainID
  
  	return s.VerifyByChannel(chainID, peerIdentity, signature, message)
  }
docs: // Verify checks that signature is a valid signature of message under a peer's verification key.
  // If the verification succeeded, Verify returns nil meaning no error occurred.
  // If peerIdentity is nil, then the verification fails.