code: public byte[] unsign(byte[] data, Key key) throws AuditSigningException {
          byte[] unsignedData = null;
          if (data != null) {
              try {
                  unsignedData = decrypt(data, key);
              } catch (AuditDecryptionException ade) {
                  throw new AuditSigningException(ade);
              }
          } else {
              Tr.error(tc, "security.audit.message.digest.error");
              throw new AuditSigningException("MessageDigest is invalid");
          }
  
          return (unsignedData);
      }
docs: <p>
  The <code>unsign</code> method unsigns the data with a key
  </p>
  
  @param a byte array of data to be used to compute a message digest
  @param the key used to unsign the signed data
  @returns a byte array representing the signed message digest
  @throws AuditSigningException