code: public void update(byte[] buf, int off, int len) throws SignatureException {
          if (RSAdata != null || digestAttr != null)
              messageDigest.update(buf, off, len);
          else
              sig.update(buf, off, len);
      }
docs: Update the digest with the specified bytes. This method is used both for signing and verifying
  @param buf the data buffer
  @param off the offset in the data buffer
  @param len the data length
  @throws SignatureException on error