diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-04-01 18:44:36 +0200 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2014-04-01 18:44:36 +0200 |
commit | d0947e8377283f8780b5e7555dd321950a2de147 (patch) | |
tree | 8a451676f4eed07c1bbc9bc44cf2e81cf5085274 /OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java | |
parent | 2c5991b19933cbb984db58b3e64db538e6782c28 (diff) | |
download | open-keychain-d0947e8377283f8780b5e7555dd321950a2de147.tar.gz open-keychain-d0947e8377283f8780b5e7555dd321950a2de147.tar.bz2 open-keychain-d0947e8377283f8780b5e7555dd321950a2de147.zip |
Only allow private keys associated to accounts of an app
Diffstat (limited to 'OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java')
-rw-r--r-- | OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java index b971143ae..13dc2af2b 100644 --- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java +++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/provider/ProviderHelper.java @@ -48,6 +48,8 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Date; +import java.util.HashSet; +import java.util.Set; public class ProviderHelper { @@ -867,10 +869,10 @@ public class ProviderHelper { return settings; } - public static AccountSettings getApiAccountSettings(Context context, Uri uri) { + public static AccountSettings getApiAccountSettings(Context context, Uri accountUri) { AccountSettings settings = null; - Cursor cur = context.getContentResolver().query(uri, null, null, null, null); + Cursor cur = context.getContentResolver().query(accountUri, null, null, null, null); if (cur != null && cur.moveToFirst()) { settings = new AccountSettings(); @@ -889,6 +891,20 @@ public class ProviderHelper { return settings; } + public static Set<Long> getAllKeyIdsForApp(Context context, Uri uri) { + Set<Long> keyIds = new HashSet<Long>(); + + Cursor cursor = context.getContentResolver().query(uri, null, null, null, null); + if (cursor != null) { + int keyIdColumn = cursor.getColumnIndex(KeychainContract.ApiAccounts.KEY_ID); + while (cursor.moveToNext()) { + keyIds.add(cursor.getLong(keyIdColumn)); + } + } + + return keyIds; + } + public static byte[] getApiAppSignature(Context context, String packageName) { Uri queryUri = ApiApps.buildByPackageNameUri(packageName); |