AIDL API changes

This commit is contained in:
Dominik Schürmann
2012-12-14 18:22:03 +01:00
parent 2dcaad3d3b
commit be4e3a10b0
36 changed files with 1113 additions and 275 deletions

View File

@@ -62,11 +62,15 @@ See http://docs.oseems.com/general/application/eclipse/fix-gc-overhead-limit-exc
## Basic goals
* Never (even with permissions) give out actual PGPSecretKey/PGPSecretKeyRing blobs
* Intents without permissions should only work based on user interaction (e.g. click a button in a dialog)
Android primitives to exchange data: Intent, Intent with return values, Send (also an Intent), Content Provider, AIDL
## Permission
* ACCESS_API: Encrypt/Sign/Decrypt/Create keys without user interaction (intents, remote service), Read key information (not the actual keys)(content provider)
* ACCESS_KEYS: get and import actual public and secret keys (remote service)
## Intents
### Without permission
@@ -92,16 +96,13 @@ Android primitives to exchange data: Intent, Intent with return values, Send (al
## Content Provider
* The whole content provider requires a permission (only read)
* Don't give out blobs
* Don't give out blobs (keys can be accessed by ACCESS_KEYS via remote service)
* Make an internal and external content provider (or pathes with <path-permission>)
* Look at android:grantUriPermissions especially for ApgServiceBlobProvider
* Only give out android:readPermission
## Remote Service
## ApgApiService (Remote Service)
* ACCESS_API
* The whole service requires the permission ACCESS_API
## Resulting permission
* READ_KEY_DATABASE: Read key information (not the actual keys)(content provider)
* ACCESS_API: Encrypt/Sign/Decrypt/Create keys without user interaction (intents, remote service)
## ApgKeyService (Remote Service)
* ACCESS_KEYS