code: func verifyPSS(pub *PublicKey, hash crypto.Hash, hashed []byte, sig []byte, saltLen int) error {
  	nBits := pub.N.BitLen()
  	if len(sig) != (nBits+7)/8 {
  		return ErrVerification
  	}
  	s := new(big.Int).SetBytes(sig)
  	m := encrypt(new(big.Int), pub, s)
  	emBits := nBits - 1
  	emLen := (emBits + 7) / 8
  	if emLen < len(m.Bytes()) {
  		return ErrVerification
  	}
  	em := make([]byte, emLen)
  	copyWithLeftPad(em, m.Bytes())
  	if saltLen == PSSSaltLengthEqualsHash {
  		saltLen = hash.Size()
  	}
  	return emsaPSSVerify(hashed, em, emBits, saltLen, hash.New())
  }
docs: // verifyPSS verifies a PSS signature with the given salt length.