Защита базы данных Blackberry - PullRequest
       15

Защита базы данных Blackberry

1 голос
/ 15 февраля 2012

Если я создаю базу данных sqlite из своего приложения blackberry, скажем A, то возможно ли в blackberry, что база данных будет доступна другому приложению B на том же устройстве?если да, то как я могу добиться проекции, чтобы только приложение, создающее базу данных sqlite, имело права доступа?

ps взгляните на это http://docs.blackberry.com/en/developers/deliverables/17952/Protecting_a_SQLite_database_1219777_11.jsp

Я не совсем понимаюобразец для шифрования и защиты.Если кто-то может дать намек на это, это было бы очень полезно.

заранее спасибо

Ответы [ 2 ]

3 голосов
/ 15 февраля 2012

Все (не тривиальные) приложения BB, работающие на реальных устройствах, должны иметь ключ подписи кода. Шифрование БД, о котором говорится в этом примере, использует ключ для предотвращения доступа к нему других приложений (поскольку они не будут знать ваш ключ)

0 голосов
/ 16 февраля 2012

Итак, благодаря Сеанду я смог создать защищенную базу данных ... вот мой код

            URI myURI = URI.create("file:///SDCard/Databases/SQLite_Guide/MyEnProDatabase.db");
            DatabaseSecurityOptions dbso = new DatabaseSecurityOptions(true);

            CodeSigningKey codeSigningKey = CodeSigningKey.get(this);
            Database d = DatabaseFactory.create(myURI,dbso);
            d.close();
            DatabaseFactory.encrypt(myURI, new DatabaseSecurityOptions(codeSigningKey));

Я подписал код с помощью приложения для подписи файлов.Затем я написал простую программу для удаления этой базы данных ... обратите внимание, что это новое приложение не имеет представления о моем файле KEY, который использовался в приложении create db выше.Когда я его запустил, он смог удалить БД.Но это не должно произойти, верно?Поскольку база данных была защищенной базой данных, она должна быть доступна только приложениям, которые подписаны с использованием того же ключа ...

что мне здесь не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...