从Symbian OS v9.x后就不再提供数据库加密机制了,保护你数据库不被其他程序访问的唯一方法就是将数据库文件存储在你的私人数据空间。不过这样其他程序也就没法访问到它了。 Symbian OS v9.x中所介绍的安全共享数据库的方法为,通过data caging机制保护并共享数据。
数据库是通过DBMS client-serve API来生成并被访问的。数据库文件被存储在DBMS server的data cage文件夹中。DBMS server根据与此数据库预先关联的安全法则允许其他客户端程序去访问它。这种安全法则可以规定客户端只能具有ReadDeviceData能力。为了向数据库写入东西,客户端得具有WriteDeviceData能力,和一个给定的Secure ID(SID)
不幸的是,安全法则目前只能存放在Z盘中。这意味着第三方开发者无法定义或安装他们自己的安全法则。同样,当第三方程序需要使用一个好的方法来同享数据库时,也没有能使用的预先配置的法则。
如果你的程序需要访问一个共享数据库,那下列选项是可以考虑的: 将数据库存放在一个共同目录下(如果不需要考虑安全性问题) 为你的服务提供一个API以访问存储在自己
If for your applications require access to a shared database, the options available are
- share a database stored in a public folder (if there are no security concerns)
- write your own server that provides an API to access a database stored in its own data cage folder.
If data encryption needs to be used, you must provide your own encryption mechanism in both cases.
|