diff options
Diffstat (limited to 'openpgp-api/src/main/java/org/openintents/openpgp/util/OpenPgpApi.java')
-rw-r--r-- | openpgp-api/src/main/java/org/openintents/openpgp/util/OpenPgpApi.java | 77 |
1 files changed, 43 insertions, 34 deletions
diff --git a/openpgp-api/src/main/java/org/openintents/openpgp/util/OpenPgpApi.java b/openpgp-api/src/main/java/org/openintents/openpgp/util/OpenPgpApi.java index 658823a..87a1605 100644 --- a/openpgp-api/src/main/java/org/openintents/openpgp/util/OpenPgpApi.java +++ b/openpgp-api/src/main/java/org/openintents/openpgp/util/OpenPgpApi.java @@ -60,19 +60,12 @@ public class OpenPgpApi { * This action performs no operation, but can be used to check if the App has permission * to access the API in general, returning a user interaction PendingIntent otherwise. * This can be used to trigger the permission dialog explicitly. - * + * * This action uses no extras. */ public static final String ACTION_CHECK_PERMISSION = "org.openintents.openpgp.action.CHECK_PERMISSION"; - /** - * DEPRECATED - * Same as ACTION_CLEARTEXT_SIGN - * <p/> - * optional extras: - * boolean EXTRA_REQUEST_ASCII_ARMOR (DEPRECATED: this makes no sense here) - * char[] EXTRA_PASSPHRASE (key passphrase) - */ + @Deprecated public static final String ACTION_SIGN = "org.openintents.openpgp.action.SIGN"; /** @@ -81,10 +74,10 @@ public class OpenPgpApi { * cleartext signatures per RFC 4880 before the text is actually signed: * - end cleartext with newline * - remove whitespaces on line endings - * <p/> + * * required extras: * long EXTRA_SIGN_KEY_ID (key id of signing key) - * <p/> + * * optional extras: * char[] EXTRA_PASSPHRASE (key passphrase) */ @@ -94,14 +87,14 @@ public class OpenPgpApi { * Sign text or binary data resulting in a detached signature. * No OutputStream necessary for ACTION_DETACHED_SIGN (No magic pre-processing like in ACTION_CLEARTEXT_SIGN)! * The detached signature is returned separately in RESULT_DETACHED_SIGNATURE. - * <p/> + * * required extras: * long EXTRA_SIGN_KEY_ID (key id of signing key) - * <p/> + * * optional extras: * boolean EXTRA_REQUEST_ASCII_ARMOR (request ascii armor for detached signature) * char[] EXTRA_PASSPHRASE (key passphrase) - * <p/> + * * returned extras: * byte[] RESULT_DETACHED_SIGNATURE * String RESULT_SIGNATURE_MICALG (contains the name of the used signature algorithm as a string) @@ -110,12 +103,12 @@ public class OpenPgpApi { /** * Encrypt - * <p/> + * * required extras: * String[] EXTRA_USER_IDS (=emails of recipients, if more than one key has a user_id, a PendingIntent is returned via RESULT_INTENT) * or * long[] EXTRA_KEY_IDS - * <p/> + * * optional extras: * boolean EXTRA_REQUEST_ASCII_ARMOR (request ascii armor for output) * char[] EXTRA_PASSPHRASE (key passphrase) @@ -126,12 +119,12 @@ public class OpenPgpApi { /** * Sign and encrypt - * <p/> + * * required extras: * String[] EXTRA_USER_IDS (=emails of recipients, if more than one key has a user_id, a PendingIntent is returned via RESULT_INTENT) * or * long[] EXTRA_KEY_IDS - * <p/> + * * optional extras: * long EXTRA_SIGN_KEY_ID (key id of signing key) * boolean EXTRA_REQUEST_ASCII_ARMOR (request ascii armor for output) @@ -145,15 +138,15 @@ public class OpenPgpApi { * Decrypts and verifies given input stream. This methods handles encrypted-only, signed-and-encrypted, * and also signed-only input. * OutputStream is optional, e.g., for verifying detached signatures! - * <p/> + * * If OpenPgpSignatureResult.getResult() == OpenPgpSignatureResult.RESULT_KEY_MISSING * in addition a PendingIntent is returned via RESULT_INTENT to download missing keys. * On all other status, in addition a PendingIntent is returned via RESULT_INTENT to open * the key view in OpenKeychain. - * <p/> + * * optional extras: * byte[] EXTRA_DETACHED_SIGNATURE (detached signature) - * <p/> + * * returned extras: * OpenPgpSignatureResult RESULT_SIGNATURE * OpenPgpDecryptionResult RESULT_DECRYPTION @@ -164,9 +157,9 @@ public class OpenPgpApi { /** * Decrypts the header of an encrypted file to retrieve metadata such as original filename. - * <p/> + * * This does not decrypt the actual content of the file. - * <p/> + * * returned extras: * OpenPgpDecryptMetadata RESULT_METADATA * String RESULT_CHARSET (charset which was specified in the headers of ascii armored input, if any) @@ -175,10 +168,10 @@ public class OpenPgpApi { /** * Select key id for signing - * <p/> + * * optional extras: * String EXTRA_USER_ID - * <p/> + * * returned extras: * long EXTRA_SIGN_KEY_ID */ @@ -186,10 +179,10 @@ public class OpenPgpApi { /** * Get key ids based on given user ids (=emails) - * <p/> + * * required extras: * String[] EXTRA_USER_IDS - * <p/> + * * returned extras: * long[] RESULT_KEY_IDS */ @@ -198,25 +191,35 @@ public class OpenPgpApi { /** * This action returns RESULT_CODE_SUCCESS if the OpenPGP Provider already has the key * corresponding to the given key id in its database. - * <p/> + * * It returns RESULT_CODE_USER_INTERACTION_REQUIRED if the Provider does not have the key. * The PendingIntent from RESULT_INTENT can be used to retrieve those from a keyserver. - * <p/> + * * If an Output stream has been defined the whole public key is returned. * required extras: * long EXTRA_KEY_ID - * <p/> + * * optional extras: * String EXTRA_REQUEST_ASCII_ARMOR (request that the returned key is encoded in ASCII Armor) - * */ public static final String ACTION_GET_KEY = "org.openintents.openpgp.action.GET_KEY"; + /** + * Backup all keys given by EXTRA_KEY_IDS and if requested their secret parts. + * The encrypted backup will be written to the OutputStream. + * The client app has no access to the backup code used to encrypt the backup! + * This operation always requires user interaction with RESULT_CODE_USER_INTERACTION_REQUIRED! + * + * required extras: + * long[] EXTRA_KEY_IDS (keys that should be included in the backup) + * boolean EXTRA_BACKUP_SECRET (also backup secret keys) + */ + public static final String ACTION_BACKUP = "org.openintents.openpgp.action.BACKUP"; /* Intent extras */ public static final String EXTRA_API_VERSION = "api_version"; - // DEPRECATED!!! + @Deprecated public static final String EXTRA_ACCOUNT_NAME = "account_name"; // ACTION_DETACHED_SIGN, ENCRYPT, SIGN_AND_ENCRYPT, DECRYPT_VERIFY @@ -236,6 +239,7 @@ public class OpenPgpApi { public static final String EXTRA_PASSPHRASE = "passphrase"; public static final String EXTRA_ORIGINAL_FILENAME = "original_filename"; public static final String EXTRA_ENABLE_COMPRESSION = "enable_compression"; + public static final String EXTRA_OPPORTUNISTIC_ENCRYPTION = "opportunistic"; // GET_SIGN_KEY_ID public static final String EXTRA_USER_ID = "user_id"; @@ -244,6 +248,9 @@ public class OpenPgpApi { public static final String EXTRA_KEY_ID = "key_id"; public static final String RESULT_KEY_IDS = "key_ids"; + // BACKUP + public static final String EXTRA_BACKUP_SECRET = "backup_secret"; + /* Service Intent returns */ public static final String RESULT_CODE = "result_code"; @@ -260,13 +267,15 @@ public class OpenPgpApi { // DECRYPT_VERIFY public static final String EXTRA_DETACHED_SIGNATURE = "detached_signature"; + public static final String EXTRA_DECRYPTION_RESULT_WRAPPER = "decryption_result_wrapper"; + public static final String EXTRA_DECRYPTION_RESULT = "decryption_result"; public static final String RESULT_SIGNATURE = "signature"; public static final String RESULT_DECRYPTION = "decryption"; public static final String RESULT_METADATA = "metadata"; // This will be the charset which was specified in the headers of ascii armored input, if any public static final String RESULT_CHARSET = "charset"; - // INTERNAL, should not be used + // INTERNAL, must not be used public static final String EXTRA_CALL_UUID1 = "call_uuid1"; public static final String EXTRA_CALL_UUID2 = "call_uuid2"; @@ -357,7 +366,7 @@ public class OpenPgpApi { Intent result; - Thread pumpThread =null; + Thread pumpThread = null; int outputPipeId = 0; if (os != null) { |