Мы пытаемся создать файл sqlite db с помощью java на сервере и зашифровать его. Затем мы отправляем зашифрованный файл db на компьютер клиента, на котором работает настольное приложение Adobe Air. Воздушное приложение затем должно иметь возможность открывать/читать из зашифрованного файла db (клиент доступен только для чтения).Как зашифровать файл sqlite db на стороне сервера java, чтобы клиент flex/air мог его прочитать?
Мы используем java 1.6, flex/actionscript 4.5 и Air 3.1.
Мы можем создать файл sqlite db на сервере и отправить его клиенту, и он может быть прочитан клиентом без проблем, если мы его не зашифруем. Но у нас возникают проблемы с частью шифрования.
Мы прочитали довольно много документации о возможности ActionScript открывать зашифрованные файлы sqlite с использованием AES + CCM (http://help.adobe.com/en_US/as3/dev/WS8AFC5E35-DC79-4082-9AD4-DE1A2B41DAAF.html#WS61068DCE-9499-4d40-82B8-B71CC35D832C). И мы пытаемся использовать криптовальный пакет java для шифрования файла sqlite db.
Шифрование важно, потому что мы не хотим, чтобы клиент мог открыть файл sqlite db с любым браузером sqlite, только с помощью нашего приложения Air.
Кто-нибудь сделал это раньше и может указать нам в правильном направлении?
Является ли природа приложения очень надежной? Продвинутые пользователи смогут отменить методы, используемые для шифрования файла, и одного шифрования недостаточно для остановки определенного пользователя. –
Помните, что для вашего приложения Air для расшифровки файла он должен иметь ключ дешифрования. И если ключ дешифрования находится в программе на компьютере пользователя, опытный пользователь извлечет его и опубликует. – Wyzard
Мы все еще не очень обеспокоены очень определенным пользователем. На данный момент это простой пользователь. Мы думали, что к ключу будет две части, одна из которых будет скомпилирована в эфир, а другая - с файлом db. – 742626