如果我创建从我的黑莓应用程序SQLite数据库,说A,然后是有可能在黑莓数据库可以在同一台设备是由另一appliation乙访问?如果是的话,那么我怎么才能实现proection,以便只有创建sqlite数据库的应用程序才具有访问权限?黑莓数据库保护
我不完全理解的加密和保护部分样品。如果有人能够对此提供暗示,那将非常有帮助。
在此先感谢
如果我创建从我的黑莓应用程序SQLite数据库,说A,然后是有可能在黑莓数据库可以在同一台设备是由另一appliation乙访问?如果是的话,那么我怎么才能实现proection,以便只有创建sqlite数据库的应用程序才具有访问权限?黑莓数据库保护
我不完全理解的加密和保护部分样品。如果有人能够对此提供暗示,那将非常有帮助。
在此先感谢
所以,感谢seand我能够创建一个受保护的数据库...这里是我的代码
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文件在上面的创建数据库应用程序中使用。当我运行它时,它能够删除数据库。但是这不会发生,对吧?由于数据库是一个受保护的数据库,它应该只由使用相同的密钥签名的应用程序访问...
我缺少什么吗?
所有(不平凡)BB的应用程序在真实设备上运行需要有一个代码签名密钥。 这个例子谈到的数据库加密使用密钥,以防止其他应用程序访问它(因为他们不知道你的密钥)
非常感谢小费。 CodeSigningKey = CodeSigningKey.get(CodeModuleManager.getModuleHandle(“SQLiteDemo”),“XYZ”);如果你看到代码示例,这里是什么“XYZ”。这与我在发布前签署应用程序时使用的密钥相同吗? – arin 2012-02-15 09:44:17
http://supportforums.blackberry.com/t5/Java-Development/Signer-ID-BlackBerry-Signing-Authority-Tool/td-p/53070 – seand 2012-02-15 14:45:21
非常感谢!我会尽快通过它,并尽快回复您的理解。 – arin 2012-02-16 06:34:46