aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/RevokeOperation.java
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2015-08-17 10:25:02 +0200
committerDominik Schürmann <dominik@dominikschuermann.de>2015-08-17 10:25:02 +0200
commita3395112e091eca4d3efafc1b9f29d782298b588 (patch)
tree5dcffa93adcbd48c5397422b0a275e9f8c56dfb4 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/RevokeOperation.java
parent7004d129a8546977c450bd40931b0b774cd2025e (diff)
downloadopen-keychain-a3395112e091eca4d3efafc1b9f29d782298b588.tar.gz
open-keychain-a3395112e091eca4d3efafc1b9f29d782298b588.tar.bz2
open-keychain-a3395112e091eca4d3efafc1b9f29d782298b588.zip
Revoke master key only
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/RevokeOperation.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/RevokeOperation.java48
1 files changed, 5 insertions, 43 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/RevokeOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/RevokeOperation.java
index ecf64e1af..9aceb946c 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/RevokeOperation.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/operations/RevokeOperation.java
@@ -20,7 +20,6 @@
package org.sufficientlysecure.keychain.operations;
import android.content.Context;
-import android.database.Cursor;
import android.net.Uri;
import android.support.annotation.NonNull;
@@ -39,7 +38,7 @@ import org.sufficientlysecure.keychain.service.input.CryptoInputParcel;
import org.sufficientlysecure.keychain.ui.util.KeyFormattingUtils;
import org.sufficientlysecure.keychain.util.Log;
-public class RevokeOperation extends BaseOperation<RevokeKeyringParcel> {
+public class RevokeOperation extends BaseOperation<RevokeKeyringParcel> {
public RevokeOperation(Context context, ProviderHelper providerHelper, Progressable progressable) {
super(context, providerHelper, progressable);
@@ -71,13 +70,15 @@ public class RevokeOperation extends BaseOperation<RevokeKeyringParcel> {
return new RevokeResult(RevokeResult.RESULT_ERROR, log, masterKeyId);
}
- SaveKeyringParcel saveKeyringParcel = getRevokedSaveKeyringParcel(masterKeyId,
- keyRing.getFingerprint());
+ SaveKeyringParcel saveKeyringParcel =
+ new SaveKeyringParcel(masterKeyId, keyRing.getFingerprint());
// all revoke operations are made atomic as of now
saveKeyringParcel.setUpdateOptions(revokeKeyringParcel.mUpload, true,
revokeKeyringParcel.mKeyserver);
+ saveKeyringParcel.mRevokeSubKeys.add(masterKeyId);
+
InputPendingResult revokeAndUploadResult = new EditKeyOperation(mContext,
mProviderHelper, mProgressable, mCancelled)
.execute(saveKeyringParcel, cryptoInputParcel);
@@ -103,43 +104,4 @@ public class RevokeOperation extends BaseOperation<RevokeKeyringParcel> {
}
}
- private SaveKeyringParcel getRevokedSaveKeyringParcel(long masterKeyId, byte[] fingerprint) {
- final String[] SUBKEYS_PROJECTION = new String[]{
- KeychainContract.Keys.KEY_ID
- };
- final int INDEX_KEY_ID = 0;
-
- Uri keysUri = KeychainContract.Keys.buildKeysUri(masterKeyId);
- Cursor subKeyCursor =
- mContext.getContentResolver().query(keysUri, SUBKEYS_PROJECTION, null, null, null);
-
- SaveKeyringParcel saveKeyringParcel =
- new SaveKeyringParcel(masterKeyId, fingerprint);
-
- // add all subkeys, for revocation
- while (subKeyCursor != null && subKeyCursor.moveToNext()) {
- saveKeyringParcel.mRevokeSubKeys.add(subKeyCursor.getLong(INDEX_KEY_ID));
- }
- if (subKeyCursor != null) {
- subKeyCursor.close();
- }
-
- final String[] USER_IDS_PROJECTION = new String[]{
- KeychainContract.UserPackets.USER_ID
- };
- final int INDEX_USER_ID = 0;
-
- Uri userIdsUri = KeychainContract.UserPackets.buildUserIdsUri(masterKeyId);
- Cursor userIdCursor = mContext.getContentResolver().query(
- userIdsUri, USER_IDS_PROJECTION, null, null, null);
-
- while (userIdCursor != null && userIdCursor.moveToNext()) {
- saveKeyringParcel.mRevokeUserIds.add(userIdCursor.getString(INDEX_USER_ID));
- }
- if (userIdCursor != null) {
- userIdCursor.close();
- }
-
- return saveKeyringParcel;
- }
}