only allow asymmetric encryption or symmetric encryption of files, not both like before

This commit is contained in:
Thialfihar
2010-04-29 01:38:19 +00:00
parent a037815454
commit 5cf07b4a03
3 changed files with 29 additions and 8 deletions

View File

@@ -129,18 +129,23 @@ public class DecryptFileActivity extends BaseActivity {
try {
InputStream in = new FileInputStream(mInputFilename);
setSecretKeyId(Apg.getDecryptionKeyId(in));
if (getSecretKeyId() == 0) {
try {
setSecretKeyId(Apg.getDecryptionKeyId(in));
if (getSecretKeyId() == 0) {
throw new Apg.GeneralException("no suitable keys found");
}
mAssumeSymmetricEncryption = false;
} catch (Apg.NoAsymmetricEncryptionException e) {
setSecretKeyId(0);
// reopen the file to check whether there's symmetric encryption data in there
in = new FileInputStream(mInputFilename);
if (!Apg.hasSymmetricEncryption(in)) {
throw new Apg.GeneralException("no suitable keys found");
throw new Apg.GeneralException("no known kind of encryption found");
}
mAssumeSymmetricEncryption = true;
} else {
mAssumeSymmetricEncryption = false;
}
showDialog(Id.dialog.pass_phrase);
}
showDialog(Id.dialog.pass_phrase);
} catch (FileNotFoundException e) {
error = "file not found: " + e.getLocalizedMessage();
} catch (IOException e) {