code: public static boolean verifySignature(RSAPublicKey key, byte[] message, byte[] signature,
              String signAlgo)
              throws NoSuchAlgorithmException, InvalidKeyException, SignatureException {
          if (StringUtils.isBlank(signAlgo)) {
              signAlgo = DEFAULT_SIGNATURE_ALGORITHM;
          }
          Signature sign = Signature.getInstance(signAlgo);
          sign.initVerify(key);
          sign.update(message);
          return sign.verify(signature);
      }
docs: Verify a signature with RSA public key.
  
  @param key
  @param message
  the message to verify
  @param signature
  the signature created by {@link #signMessage(RSAPrivateKey, byte[])}
  @param signAlgo
  signature algorithm to use. If empty, {@link #DEFAULT_SIGNATURE_ALGORITHM} will be
  used.
  @return
  @throws NoSuchAlgorithmException
  @throws InvalidKeyException
  @throws SignatureException