diff options
author | Fabian Henneke <FabianHenneke@users.noreply.github.com> | 2020-07-27 08:05:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-27 11:35:35 +0530 |
commit | c9a34623724f1dce9acf902ca5bde1dba6cafb02 (patch) | |
tree | ffdc19c8e570e6f78b7f1ed53322e68c71302e0c /app | |
parent | 2b1f101685472452ecb30d8a84bcc6b88167bd1c (diff) |
Add specific warning for short key IDs in .gpg-id (#974)
Diffstat (limited to 'app')
-rw-r--r-- | app/src/main/java/com/zeapo/pwdstore/crypto/PasswordCreationActivity.kt | 6 | ||||
-rw-r--r-- | app/src/main/res/values/strings.xml | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/crypto/PasswordCreationActivity.kt b/app/src/main/java/com/zeapo/pwdstore/crypto/PasswordCreationActivity.kt index 3c1757f1..45bde491 100644 --- a/app/src/main/java/com/zeapo/pwdstore/crypto/PasswordCreationActivity.kt +++ b/app/src/main/java/com/zeapo/pwdstore/crypto/PasswordCreationActivity.kt @@ -316,7 +316,11 @@ class PasswordCreationActivity : BasePgpActivity(), OpenPgpServiceConnection.OnB .filter { it.isNotBlank() } .map { line -> parseGpgIdentifier(line) ?: run { - snackbar(message = resources.getString(R.string.invalid_gpg_id)) + if (line.removePrefix("0x").matches("[a-fA-F0-9]{8}".toRegex())) { + snackbar(message = resources.getString(R.string.short_key_ids_unsupported)) + } else { + snackbar(message = resources.getString(R.string.invalid_gpg_id)) + } return@with } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a59d5965..9aaebf98 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -368,6 +368,7 @@ <string name="exporting_passwords">Exporting passwords…</string> <string name="failed_to_find_key_id">Failed to locate .gpg-id, is your store set up correctly?</string> <string name="invalid_gpg_id">Found .gpg-id, but it contains an invalid key ID, fingerprint or user ID</string> + <string name="short_key_ids_unsupported">A key ID in .gpg-id is too short, please use either long key IDs (16 characters) or fingerprints (40 characters)</string> <string name="invalid_filename_text">File name must not contain \'/\', set directory above</string> <string name="directory_hint">Directory</string> </resources> |