code: func (m *SigningMethodRSAPSS) Verify(signingString, signature string, key interface{}) error {
  	var err error
  
  	// Decode the signature
  	var sig []byte
  	if sig, err = DecodeSegment(signature); err != nil {
  		return err
  	}
  
  	var rsaKey *rsa.PublicKey
  	switch k := key.(type) {
  	case *rsa.PublicKey:
  		rsaKey = k
  	default:
  		return ErrInvalidKey
  	}
  
  	// Create hasher
  	if !m.Hash.Available() {
  		return ErrHashUnavailable
  	}
  	hasher := m.Hash.New()
  	hasher.Write([]byte(signingString))
  
  	return rsa.VerifyPSS(rsaKey, m.Hash, hasher.Sum(nil), sig, m.Options)
  }
docs: // Implements the Verify method from SigningMethod
  // For this verify method, key must be an rsa.PublicKey struct