Security 黑莓数据库保护

Security 黑莓数据库保护,security,sqlite,blackberry,protection,Security,Sqlite,Blackberry,Protection,如果我从我的blackberry应用程序(比如a)创建一个sqlite数据库,那么在blackberry中,该数据库是否可以被同一设备中的另一个应用程序B访问?如果是,那么如何实现proction,以便只有创建sqlite数据库的应用程序才具有访问权限 p、 看看这个 我不完全理解加密和保护部分的示例。如果有人能在这方面给出一个提示,那将是非常有帮助的 提前感谢在真实设备上运行的所有(非普通)BB应用程序都需要有代码签名密钥。 本例所述的DB加密使用密钥来阻止其他应用程序访问它(因为它们不知道您

如果我从我的blackberry应用程序(比如a)创建一个sqlite数据库,那么在blackberry中,该数据库是否可以被同一设备中的另一个应用程序B访问?如果是,那么如何实现proction,以便只有创建sqlite数据库的应用程序才具有访问权限

p、 看看这个

我不完全理解加密和保护部分的示例。如果有人能在这方面给出一个提示,那将是非常有帮助的

提前感谢

在真实设备上运行的所有(非普通)BB应用程序都需要有代码签名密钥。
本例所述的DB加密使用密钥来阻止其他应用程序访问它(因为它们不知道您的密钥)

因此,多亏了seand,我才能够创建一个受保护的DB。。。这是我的密码

            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));
我用文件签名应用程序签署了cod。然后我写了一个简单的程序来删除这个数据库。。。请注意,这个新应用程序不知道上面创建db应用程序中使用的我的密钥文件。当我运行它时,它可以删除数据库。但这不应该发生,对吗?由于该数据库是受保护的数据库,因此只能由使用相同密钥签名的应用程序访问该数据库


我错过了什么?

非常感谢你的提示。还有一个小疑问。。如果您查看代码示例,CodeSigningKey CodeSigningKey=CodeSigningKey.get(CodeModuleManager.getModuleHandle(“SQLiteDemo”),“XYZ”);这里的“XYZ”是什么。这就是我在发布应用程序之前签名时使用的密钥吗?非常感谢!我会仔细考虑一下,很快就会告诉你我的理解。