org.openintents.openpgp.OpenPgpSignatureResult Java Examples

The following examples show how to use org.openintents.openpgp.OpenPgpSignatureResult. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: BackupActivity.java    From andOTP with MIT License 5 votes vote down vote up
public void handleOpenPGPResult(Intent result, ByteArrayOutputStream os, Uri file, int requestCode) {
    if (result.getIntExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_ERROR) == OpenPgpApi.RESULT_CODE_SUCCESS) {
        if (requestCode == Constants.INTENT_BACKUP_ENCRYPT_PGP) {
            if (os != null)
                doBackupEncrypted(file, outputStreamToString(os));
        } else if (requestCode == Constants.INTENT_BACKUP_DECRYPT_PGP) {
            if (os != null) {
                if (settings.getOpenPGPVerify()) {
                    OpenPgpSignatureResult sigResult = result.getParcelableExtra(OpenPgpApi.RESULT_SIGNATURE);

                    if (sigResult.getResult() == OpenPgpSignatureResult.RESULT_VALID_KEY_CONFIRMED) {
                        restoreEntries(outputStreamToString(os));
                    } else {
                        Toast.makeText(this, R.string.backup_toast_openpgp_not_verified, Toast.LENGTH_LONG).show();
                    }
                } else {
                    restoreEntries(outputStreamToString(os));
                }
            }
        }
    } else if (result.getIntExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_ERROR) == OpenPgpApi.RESULT_CODE_USER_INTERACTION_REQUIRED) {
        PendingIntent pi = result.getParcelableExtra(OpenPgpApi.RESULT_INTENT);

        // Small hack to keep the target file even after user interaction
        if (requestCode == Constants.INTENT_BACKUP_ENCRYPT_PGP) {
            encryptTargetFile = file;
        } else if (requestCode == Constants.INTENT_BACKUP_DECRYPT_PGP) {
            decryptSourceFile = file;
        }

        try {
            startIntentSenderForResult(pi.getIntentSender(), requestCode, null, 0, 0, 0);
        } catch (IntentSender.SendIntentException e) {
            e.printStackTrace();
        }
    } else if (result.getIntExtra(OpenPgpApi.RESULT_CODE, OpenPgpApi.RESULT_CODE_ERROR) == OpenPgpApi.RESULT_CODE_ERROR) {
        OpenPgpError error = result.getParcelableExtra(OpenPgpApi.RESULT_ERROR);
        Toast.makeText(this, String.format(getString(R.string.backup_toast_openpgp_error), error.getMessage()), Toast.LENGTH_LONG).show();
    }
}
 
Example #2
Source File: PgpEngine.java    From Pix-Art-Messenger with GNU General Public License v3.0 4 votes vote down vote up
public long fetchKeyId(Account account, String status, String signature) {
    if ((signature == null) || (api == null)) {
        return 0;
    }
    if (status == null) {
        status = "";
    }
    final StringBuilder pgpSig = new StringBuilder();
    pgpSig.append("-----BEGIN PGP SIGNED MESSAGE-----");
    pgpSig.append('\n');
    pgpSig.append('\n');
    pgpSig.append(status);
    pgpSig.append('\n');
    pgpSig.append("-----BEGIN PGP SIGNATURE-----");
    pgpSig.append('\n');
    pgpSig.append('\n');
    pgpSig.append(signature.replace("\n", "").trim());
    pgpSig.append('\n');
    pgpSig.append("-----END PGP SIGNATURE-----");
    Intent params = new Intent();
    params.setAction(OpenPgpApi.ACTION_DECRYPT_VERIFY);
    params.putExtra(OpenPgpApi.EXTRA_REQUEST_ASCII_ARMOR, true);
    InputStream is = new ByteArrayInputStream(pgpSig.toString().getBytes());
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    Intent result = api.executeApi(params, is, os);
    switch (result.getIntExtra(OpenPgpApi.RESULT_CODE,
            OpenPgpApi.RESULT_CODE_ERROR)) {
        case OpenPgpApi.RESULT_CODE_SUCCESS:
            OpenPgpSignatureResult sigResult = result
                    .getParcelableExtra(OpenPgpApi.RESULT_SIGNATURE);
            if (sigResult != null) {
                return sigResult.getKeyId();
            } else {
                return 0;
            }
        case OpenPgpApi.RESULT_CODE_USER_INTERACTION_REQUIRED:
            return 0;
        case OpenPgpApi.RESULT_CODE_ERROR:
            logError(account, result.getParcelableExtra(OpenPgpApi.RESULT_ERROR));
            return 0;
    }
    return 0;
}
 
Example #3
Source File: PgpEngine.java    From Conversations with GNU General Public License v3.0 4 votes vote down vote up
public long fetchKeyId(Account account, String status, String signature) {
	if ((signature == null) || (api == null)) {
		return 0;
	}
	if (status == null) {
		status = "";
	}
	final StringBuilder pgpSig = new StringBuilder();
	pgpSig.append("-----BEGIN PGP SIGNED MESSAGE-----");
	pgpSig.append('\n');
	pgpSig.append('\n');
	pgpSig.append(status);
	pgpSig.append('\n');
	pgpSig.append("-----BEGIN PGP SIGNATURE-----");
	pgpSig.append('\n');
	pgpSig.append('\n');
	pgpSig.append(signature.replace("\n", "").trim());
	pgpSig.append('\n');
	pgpSig.append("-----END PGP SIGNATURE-----");
	Intent params = new Intent();
	params.setAction(OpenPgpApi.ACTION_DECRYPT_VERIFY);
	params.putExtra(OpenPgpApi.EXTRA_REQUEST_ASCII_ARMOR, true);
	InputStream is = new ByteArrayInputStream(pgpSig.toString().getBytes());
	ByteArrayOutputStream os = new ByteArrayOutputStream();
	Intent result = api.executeApi(params, is, os);
	switch (result.getIntExtra(OpenPgpApi.RESULT_CODE,
			OpenPgpApi.RESULT_CODE_ERROR)) {
		case OpenPgpApi.RESULT_CODE_SUCCESS:
			OpenPgpSignatureResult sigResult = result
					.getParcelableExtra(OpenPgpApi.RESULT_SIGNATURE);
			if (sigResult != null) {
				return sigResult.getKeyId();
			} else {
				return 0;
			}
		case OpenPgpApi.RESULT_CODE_USER_INTERACTION_REQUIRED:
			return 0;
		case OpenPgpApi.RESULT_CODE_ERROR:
			logError(account, result.getParcelableExtra(OpenPgpApi.RESULT_ERROR));
			return 0;
	}
	return 0;
}