Merge branch 'master' of github.com:open-keychain/open-keychain

This commit is contained in:
Vincent Breitmoser
2015-08-12 16:21:08 +02:00

View File

@@ -594,11 +594,27 @@ public class OpenPgpService extends RemoteService {
result.putExtra(OpenPgpApi.RESULT_SIGNATURE, (Parcelable[]) null);
}
OpenPgpDecryptionResult decryptionResult = pgpResult.getDecryptionResult();
if (decryptionResult.getResult() != OpenPgpDecryptionResult.RESULT_ENCRYPTED
&& signatureResult.getResult() != OpenPgpSignatureResult.RESULT_NO_SIGNATURE) {
// not encrypted and signed, set deprecated signatureOnly variable
signatureResult.setSignatureOnly(true);
// OpenPgpDecryptionResult does not exist in API < 8
{
OpenPgpDecryptionResult decryptionResult = pgpResult.getDecryptionResult();
// case RESULT_NOT_ENCRYPTED, but a signature, fallback to deprecated signatureOnly variable
if (decryptionResult.getResult() == OpenPgpDecryptionResult.RESULT_NOT_ENCRYPTED
&& signatureResult.getResult() != OpenPgpSignatureResult.RESULT_NO_SIGNATURE) {
signatureResult.setSignatureOnly(true);
}
// case RESULT_INSECURE, fallback to an error
if (decryptionResult.getResult() == OpenPgpDecryptionResult.RESULT_INSECURE) {
Intent resultError = new Intent();
resultError.putExtra(OpenPgpApi.RESULT_ERROR, new OpenPgpError(OpenPgpError.GENERIC_ERROR,
"Insecure encryption: An outdated algorithm has been used!"));
resultError.putExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_ERROR);
return resultError;
}
// case RESULT_ENCRYPTED
// nothing to do!
}
}