Защита постоянных данных либо с помощью Blackberry SIgning Authority Tool, либо с помощью какого-либо другого механизма

Мы разработали приложение для Blackberry 8830. И сохранили данные в постоянном хранилище. Однако мы хотели бы использовать какой-либо механизм защиты для защиты данных.

Мы использовали следующий код:

    try{
        codeSigningKey = codeSigningKey.get(ApplicationDescriptor.currentApplicationDescriptor().getModuleHandle(), 1234);

        _bill=new Vector();
        _bill=vtr;
        synchronized(billing)
        {
            billing.setContents(new ControlledAccess(_bill, codeSigningKey));
            billing.commit();
        }
    }
    catch(ControlledAccessException cae){
        System.out.println("Signing keys does not match: No Autorization to access data . ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
    }`

Как мы можем защитить данные, используя описанный выше механизм или каким-то другим способом?


person Dheeraj Jami    schedule 05.07.2011    source источник


Ответы (1)


Чтобы защитить данные, вы должны использовать ContentProtectedHashtable или ContentProtectedVector в качестве контейнера для ваших данных вместо простого Vector из вашего примера кода. Затем контейнер помещается в PersistentObject. Эти контейнеры имеют метод reCrypt(), который включает защиту.

Вы также должны знать, что для того, чтобы иметь возможность использовать этот подход, вы должны подписать свое приложение самостоятельно созданным ключом (тот, который упоминается как codeSigningKey в вашем примере кода). Для этого вам нужно запустить другой инструмент RIM — средство подписи файлов на основе пароля, указать его на свой файл .cod и указать пароль для доступа к вашему ключу. Также обратите внимание, что этот ключ должен быть добавлен к ресурсам проекта.

person Vit Khudenko    schedule 05.07.2011
comment
Arhimed, спасибо, но все же мы сталкиваемся с проблемами с Blackberry Signing Authority Tool. Не могли бы вы подсказать нам, как настроить Blackberry Signing Authority Tool. Это похоже на обычную установку и следующие шаги, или нам нужно установить какой-либо сервер Apache вместе с ним? (Поскольку, как мы наблюдаем после копирования xxx.key из папки данных в папку src проекта, мы видим какой-то сервер apache tomcat, в MDS симулятора - имеет ли это какое-то отношение к реализации) - person Dheeraj Jami; 08.07.2011
comment
Я пройдусь по шагам, которым мы следуем при упаковке нашего проекта. 1. Скопируйте файл xxx.key из папки C:\Program Files\Research In Motion\BlackBerry Password Based Code Signing Authority\data в папку src проекта. 2. Упакуйте проект, а затем подпишите его с помощью PasswordBasedFileSigner, как вы упомянули 3.a. Затем подпишите все приложение с помощью общих ключей подписи .csi, а затем разверните или 3.b. Затем напрямую разверните приложение без подписи с помощью общих ключей подписи. Независимо от того, с чем мы сталкиваемся, проблема похожа на проблему с момента доступа к безопасному API. - person Dheeraj Jami; 08.07.2011
comment
Blackberry Signing Authority Tool — это просто приложение, которое необходимо установить. Я никогда не имел дело с сервером apache во время этого, что означает, что у вас тоже нет. Шаги по упаковке должны включать подписание как с помощью общих ключей подписи, так и с помощью PasswordBasedFileSigner. - person Vit Khudenko; 08.07.2011