diff options
author | Joey Castillo <jose.castillo@gmail.com> | 2015-05-06 13:08:03 -0400 |
---|---|---|
committer | Joey Castillo <jose.castillo@gmail.com> | 2015-05-12 14:44:26 -0400 |
commit | 76241e90ad440bedaf40f148ba0584e06064096a (patch) | |
tree | feee753bb557be2f4a589126097c8942525b8b2e /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service | |
parent | 5c44f8400970de5943fd6c5e804dfa394f3deb01 (diff) | |
download | open-keychain-76241e90ad440bedaf40f148ba0584e06064096a.tar.gz open-keychain-76241e90ad440bedaf40f148ba0584e06064096a.tar.bz2 open-keychain-76241e90ad440bedaf40f148ba0584e06064096a.zip |
Adding NFC Key to Card operation, accessible from Edit Key activity.
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service')
2 files changed, 26 insertions, 1 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java index e0509ac9b..0fad22e4a 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java @@ -40,6 +40,7 @@ import org.sufficientlysecure.keychain.operations.CertifyOperation; import org.sufficientlysecure.keychain.operations.DeleteOperation; import org.sufficientlysecure.keychain.operations.EditKeyOperation; import org.sufficientlysecure.keychain.operations.ImportExportOperation; +import org.sufficientlysecure.keychain.operations.NfcKeyToCardOperation; import org.sufficientlysecure.keychain.operations.PromoteKeyOperation; import org.sufficientlysecure.keychain.operations.SignEncryptOperation; import org.sufficientlysecure.keychain.operations.results.CertifyResult; @@ -48,6 +49,7 @@ import org.sufficientlysecure.keychain.operations.results.DecryptVerifyResult; import org.sufficientlysecure.keychain.operations.results.DeleteResult; import org.sufficientlysecure.keychain.operations.results.ExportResult; import org.sufficientlysecure.keychain.operations.results.ImportKeyResult; +import org.sufficientlysecure.keychain.operations.results.NfcKeyToCardResult; import org.sufficientlysecure.keychain.operations.results.OperationResult; import org.sufficientlysecure.keychain.operations.results.OperationResult.OperationLog; import org.sufficientlysecure.keychain.operations.results.PromoteKeyResult; @@ -111,6 +113,8 @@ public class KeychainIntentService extends IntentService implements Progressable public static final String ACTION_IMPORT_KEYRING = Constants.INTENT_PREFIX + "IMPORT_KEYRING"; public static final String ACTION_EXPORT_KEYRING = Constants.INTENT_PREFIX + "EXPORT_KEYRING"; + public static final String ACTION_NFC_KEYTOCARD = Constants.INTENT_PREFIX + "NFC_KEYTOCARD"; + public static final String ACTION_UPLOAD_KEYRING = Constants.INTENT_PREFIX + "UPLOAD_KEYRING"; public static final String ACTION_CERTIFY_KEYRING = Constants.INTENT_PREFIX + "SIGN_KEYRING"; @@ -176,6 +180,9 @@ public class KeychainIntentService extends IntentService implements Progressable public static final String EXPORT_ALL = "export_all"; public static final String EXPORT_KEY_RING_MASTER_KEY_ID = "export_key_ring_id"; + // NFC export key to card + public static final String NFC_KEYTOCARD_SUBKEY_ID = "nfc_keytocard_subkey_id"; + // upload key public static final String UPLOAD_KEY_SERVER = "upload_key_server"; @@ -532,6 +539,19 @@ public class KeychainIntentService extends IntentService implements Progressable break; } + case ACTION_NFC_KEYTOCARD: { + // Input + long subKeyId = data.getLong(NFC_KEYTOCARD_SUBKEY_ID); + + // Operation + NfcKeyToCardOperation exportOp = new NfcKeyToCardOperation(this, providerHelper, this); + NfcKeyToCardResult result = exportOp.execute(subKeyId); + + // Result + sendMessageToHandler(MessageStatus.OKAY, result); + + break; + } case ACTION_SIGN_ENCRYPT: { // Input diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java index 535c1e735..50fb35e90 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/input/RequiredInputParcel.java @@ -13,7 +13,7 @@ import org.sufficientlysecure.keychain.Constants.key; public class RequiredInputParcel implements Parcelable { public enum RequiredInputType { - PASSPHRASE, PASSPHRASE_SYMMETRIC, NFC_SIGN, NFC_DECRYPT + PASSPHRASE, PASSPHRASE_SYMMETRIC, NFC_SIGN, NFC_DECRYPT, NFC_KEYTOCARD } public Date mSignatureTime; @@ -87,6 +87,11 @@ public class RequiredInputParcel implements Parcelable { new byte[][] { inputHash }, null, null, null, subKeyId); } + public static RequiredInputParcel createNfcKeyToCardOperation(long masterKeyId, long subKeyId) { + return new RequiredInputParcel(RequiredInputType.NFC_KEYTOCARD, null, null, null, + masterKeyId, subKeyId); + } + public static RequiredInputParcel createRequiredSignPassphrase( long masterKeyId, long subKeyId, Date signatureTime) { return new RequiredInputParcel(RequiredInputType.PASSPHRASE, |