From 2eb776594f378ac7a14ea716f0a7470d34230ec2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Sch=C3=BCrmann?= Date: Wed, 8 Oct 2014 17:39:53 +0200 Subject: Handle revoked and expired keys in decrypt activity --- .../keychain/ui/DecryptFragment.java | 56 +++++++++++++++------- OpenKeychain/src/main/res/values-cs/strings.xml | 2 +- OpenKeychain/src/main/res/values-de/strings.xml | 2 +- OpenKeychain/src/main/res/values-es/strings.xml | 2 +- OpenKeychain/src/main/res/values-fr/strings.xml | 2 +- OpenKeychain/src/main/res/values-it/strings.xml | 2 +- OpenKeychain/src/main/res/values-ja/strings.xml | 2 +- OpenKeychain/src/main/res/values-nl/strings.xml | 2 +- OpenKeychain/src/main/res/values-pl/strings.xml | 2 +- OpenKeychain/src/main/res/values-ru/strings.xml | 2 +- OpenKeychain/src/main/res/values-sl/strings.xml | 2 +- OpenKeychain/src/main/res/values-sr/strings.xml | 2 +- OpenKeychain/src/main/res/values-tr/strings.xml | 2 +- OpenKeychain/src/main/res/values-uk/strings.xml | 2 +- OpenKeychain/src/main/res/values/strings.xml | 4 +- 15 files changed, 55 insertions(+), 31 deletions(-) (limited to 'OpenKeychain/src') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java index 60874de63..3bd028da4 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/DecryptFragment.java @@ -86,6 +86,13 @@ public abstract class DecryptFragment extends Fragment { startActivityForResult(intent, RESULT_CODE_LOOKUP_KEY); } + private void showKey(long keyId) { + Intent viewKeyIntent = new Intent(getActivity(), ViewKeyActivity.class); + viewKeyIntent.setData(KeychainContract.KeyRings + .buildGenericKeyRingUri(keyId)); + startActivity(viewKeyIntent); + } + protected void startPassphraseDialog(long subkeyId) { Intent intent = new Intent(getActivity(), PassphraseDialogActivity.class); intent.putExtra(PassphraseDialogActivity.EXTRA_SUBKEY_ID, subkeyId); @@ -145,10 +152,7 @@ public abstract class DecryptFragment extends Fragment { mSignatureLayout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - Intent viewKeyIntent = new Intent(getActivity(), ViewKeyActivity.class); - viewKeyIntent.setData(KeychainContract.KeyRings - .buildGenericKeyRingUri(mSignatureKeyId)); - startActivity(viewKeyIntent); + showKey(mSignatureKeyId); } }); break; @@ -159,22 +163,30 @@ public abstract class DecryptFragment extends Fragment { KeyFormattingUtils.setStatusImage(getActivity(), mSignatureIcon, mSignatureText, KeyFormattingUtils.STATE_UNVERIFIED); setSignatureLayoutVisibility(View.VISIBLE); - mSignatureAction.setText(R.string.decrypt_result_action_show); - mSignatureAction.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_action_accounts, 0); - mSignatureLayout.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - Intent viewKeyIntent = new Intent(getActivity(), ViewKeyActivity.class); - viewKeyIntent.setData(KeychainContract.KeyRings - .buildGenericKeyRingUri(mSignatureKeyId)); - startActivity(viewKeyIntent); - } - }); + setShowAction(mSignatureAction, mSignatureKeyId); + break; + } + + case OpenPgpSignatureResult.SIGNATURE_KEY_EXPIRED: { + mSignatureText.setText(R.string.decrypt_result_signature_expired_key); + KeyFormattingUtils.setStatusImage(getActivity(), mSignatureIcon, mSignatureText, KeyFormattingUtils.STATE_EXPIRED); + + setSignatureLayoutVisibility(View.VISIBLE); + setShowAction(mSignatureAction, mSignatureKeyId); + break; + } + + case OpenPgpSignatureResult.SIGNATURE_KEY_REVOKED: { + mSignatureText.setText(R.string.decrypt_result_signature_revoked_key); + KeyFormattingUtils.setStatusImage(getActivity(), mSignatureIcon, mSignatureText, KeyFormattingUtils.STATE_REVOKED); + + setSignatureLayoutVisibility(View.VISIBLE); + setShowAction(mSignatureAction, mSignatureKeyId); break; } case OpenPgpSignatureResult.SIGNATURE_KEY_MISSING: { - mSignatureText.setText(R.string.decrypt_result_signature_unknown_pub_key); + mSignatureText.setText(R.string.decrypt_result_signature_missing_key); KeyFormattingUtils.setStatusImage(getActivity(), mSignatureIcon, mSignatureText, KeyFormattingUtils.STATE_UNKNOWN_KEY); setSignatureLayoutVisibility(View.VISIBLE); @@ -189,7 +201,6 @@ public abstract class DecryptFragment extends Fragment { break; } - // TODO: Maybe this should be part of the Result parcel, it is an error, not a valid status! case OpenPgpSignatureResult.SIGNATURE_ERROR: { mSignatureText.setText(R.string.decrypt_result_invalid_signature); KeyFormattingUtils.setStatusImage(getActivity(), mSignatureIcon, mSignatureText, KeyFormattingUtils.STATE_INVALID); @@ -214,6 +225,17 @@ public abstract class DecryptFragment extends Fragment { mSignatureDivider2.setVisibility(visibility); } + private void setShowAction(TextView signatureAction, final long signatureKeyId) { + signatureAction.setText(R.string.decrypt_result_action_show); + signatureAction.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.ic_action_accounts, 0); + signatureAction.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + showKey(signatureKeyId); + } + }); + } + /** * Should be overridden by MessageFragment and FileFragment to start actual decryption */ diff --git a/OpenKeychain/src/main/res/values-cs/strings.xml b/OpenKeychain/src/main/res/values-cs/strings.xml index 55d25958f..3276eefed 100644 --- a/OpenKeychain/src/main/res/values-cs/strings.xml +++ b/OpenKeychain/src/main/res/values-cs/strings.xml @@ -229,7 +229,7 @@ Nastala obecná chyba, prosím vytvořte nový bug report pro OpenKeychain. Špatný podpis! - Neznámý veřejný klíč + Neznámý veřejný klíč Validní podpis (neověřen) Validní podpis (ověřen) Úspěšně rozšifrováno diff --git a/OpenKeychain/src/main/res/values-de/strings.xml b/OpenKeychain/src/main/res/values-de/strings.xml index 13533f9bb..3753068bc 100644 --- a/OpenKeychain/src/main/res/values-de/strings.xml +++ b/OpenKeychain/src/main/res/values-de/strings.xml @@ -246,7 +246,7 @@ Ungültige Signatur! - Unbekannter öffentlicher Schlüssel + Unbekannter öffentlicher Schlüssel Gültige Signatur (nicht beglaubigt) Gültige Signatur (beglaubigt) Erfolgreich entschlüsselt diff --git a/OpenKeychain/src/main/res/values-es/strings.xml b/OpenKeychain/src/main/res/values-es/strings.xml index b0a3fa099..6bc2abb6a 100644 --- a/OpenKeychain/src/main/res/values-es/strings.xml +++ b/OpenKeychain/src/main/res/values-es/strings.xml @@ -238,7 +238,7 @@ ¡Firma no válida! - Clave pública desconocida + Clave pública desconocida Firma válida (no certificada) Firma válida (certificada) Descifrado con éxito diff --git a/OpenKeychain/src/main/res/values-fr/strings.xml b/OpenKeychain/src/main/res/values-fr/strings.xml index 2fd8b2a88..e1cb9ec24 100644 --- a/OpenKeychain/src/main/res/values-fr/strings.xml +++ b/OpenKeychain/src/main/res/values-fr/strings.xml @@ -238,7 +238,7 @@ Signature invalide ! - Clef publique inconnue + Clef publique inconnue Signature valide (non certifiée) Signature valide (certifiée) Déchiffré avec succès diff --git a/OpenKeychain/src/main/res/values-it/strings.xml b/OpenKeychain/src/main/res/values-it/strings.xml index 8487514e8..5b79461d5 100644 --- a/OpenKeychain/src/main/res/values-it/strings.xml +++ b/OpenKeychain/src/main/res/values-it/strings.xml @@ -245,7 +245,7 @@ Non potrai annullare! Firma non valida! - Chiave pubblica sconosciuta + Chiave pubblica sconosciuta Firma valida (non certificata) Firma valida (certificata) Decodificato correttamente diff --git a/OpenKeychain/src/main/res/values-ja/strings.xml b/OpenKeychain/src/main/res/values-ja/strings.xml index 285a3e050..86927d621 100644 --- a/OpenKeychain/src/main/res/values-ja/strings.xml +++ b/OpenKeychain/src/main/res/values-ja/strings.xml @@ -254,7 +254,7 @@ 不正な署名です! - 不明な公開鍵 + 不明な公開鍵 正しい署名 (未証明) 正しい署名 (証明ずみ) 復号化に成功した diff --git a/OpenKeychain/src/main/res/values-nl/strings.xml b/OpenKeychain/src/main/res/values-nl/strings.xml index c076bbde4..e45b3b62f 100644 --- a/OpenKeychain/src/main/res/values-nl/strings.xml +++ b/OpenKeychain/src/main/res/values-nl/strings.xml @@ -174,7 +174,7 @@ Ongeldige handtekening! - Onbekende publieke sleutel + Onbekende publieke sleutel Geldige handtekening (ongecertificeerd) Geldige handtekening (gecertificeerd) Succesvol gedecodeerd diff --git a/OpenKeychain/src/main/res/values-pl/strings.xml b/OpenKeychain/src/main/res/values-pl/strings.xml index 8effd7f98..e4653d403 100644 --- a/OpenKeychain/src/main/res/values-pl/strings.xml +++ b/OpenKeychain/src/main/res/values-pl/strings.xml @@ -161,7 +161,7 @@ Nieprawidłowy podpis! - Nieznany klucz publiczny + Nieznany klucz publiczny Podpis prawidłowy (bez certyfikatu) Podpis prawidłowy (z certyfikatem) Odszyfrowano pomyślnie diff --git a/OpenKeychain/src/main/res/values-ru/strings.xml b/OpenKeychain/src/main/res/values-ru/strings.xml index a0599b861..303efdf0a 100644 --- a/OpenKeychain/src/main/res/values-ru/strings.xml +++ b/OpenKeychain/src/main/res/values-ru/strings.xml @@ -209,7 +209,7 @@ Неверная подпись! - Неизвестный ключ + Неизвестный ключ Верная подпись (не сертифицирована) Верная подпись (сертифицирована) Успешно расшифровано diff --git a/OpenKeychain/src/main/res/values-sl/strings.xml b/OpenKeychain/src/main/res/values-sl/strings.xml index 4b5e32a49..9b92ab14f 100644 --- a/OpenKeychain/src/main/res/values-sl/strings.xml +++ b/OpenKeychain/src/main/res/values-sl/strings.xml @@ -226,7 +226,7 @@ Neveljaven podpis! - Neznan javni ključ + Neznan javni ključ Veljaven podpis (neoverjen) Veljaven podpis (overjen) Uspešno dešifrirano diff --git a/OpenKeychain/src/main/res/values-sr/strings.xml b/OpenKeychain/src/main/res/values-sr/strings.xml index 08354310c..d77809010 100644 --- a/OpenKeychain/src/main/res/values-sr/strings.xml +++ b/OpenKeychain/src/main/res/values-sr/strings.xml @@ -231,7 +231,7 @@ Дошло је до опште грешке, направите нови извештај о грешци за Отворени кључарник. Неисправан потпис! - Непознат јавни кључ + Непознат јавни кључ Исправан потпис (неоверен) Исправан потпис (оверен) Успешно дешифровано diff --git a/OpenKeychain/src/main/res/values-tr/strings.xml b/OpenKeychain/src/main/res/values-tr/strings.xml index d4937be4d..6a96e4f5e 100644 --- a/OpenKeychain/src/main/res/values-tr/strings.xml +++ b/OpenKeychain/src/main/res/values-tr/strings.xml @@ -214,7 +214,7 @@ Genel bir hata oluştu. Lütfen OpenKeychain için bir hata raporu oluşturun. Geçersiz imza! - Bilinmeyen açık anahtar + Bilinmeyen açık anahtar Geçerli imza (sertifikasız) Geçerli imza (sertifalı) Başarıyla çözümlendi diff --git a/OpenKeychain/src/main/res/values-uk/strings.xml b/OpenKeychain/src/main/res/values-uk/strings.xml index fdae88c7b..46d5f59c8 100644 --- a/OpenKeychain/src/main/res/values-uk/strings.xml +++ b/OpenKeychain/src/main/res/values-uk/strings.xml @@ -208,7 +208,7 @@ Невірний підпис! - Невідомий відкритий ключ + Невідомий відкритий ключ Дійсний підпис (несертифікований) Дійсний підпис (сертифікований) Успішно розшифровано. diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index 3850f3a68..19a259cbb 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -268,9 +268,11 @@ "Not Signed" "Invalid signature!" - "Unknown public key" "Signed by (not certified!)" "Signed by" + "Key is expired!" + "Key has been revoked!" + "Unknown public key" "Encrypted" "Not Encrypted" "Show" -- cgit v1.2.3