0

我们在 Blackberry 8830 中开发了一个应用程序。我们将数据存储在 Persistent Store 中。但是,我们想使用一些保护机制来保护数据。

我们正在使用以下代码:

    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 . ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
    }`

我们如何通过上述机制或其他方式保护数据?

4

1 回答 1

2

为了保护数据,您应该使用ContentProtectedHashtableContentProtectedVector作为数据的容器,而不是Vector代码示例中的普通数据。然后将容器放入PersistentObject. 这些容器具有reCrypt()启用保护的方法。

您还应该知道,为了能够使用这种方法,您必须使用您自己创建的密钥(codeSigningKey在您的代码示例中引用的密钥)对您的应用程序进行签名。为此,您需要启动另一个 RIM 工具 - 基于密码的文件签名器,将其指向您的 .cod 文件并提供密码以访问您的密钥。另请注意,此密钥应添加到项目资源中。

于 2011-07-05T18:07:11.407 回答