Java Code Examples for org.openintents.openpgp.OpenPgpSignatureResult

The following examples show how to use org.openintents.openpgp.OpenPgpSignatureResult. These examples are extracted from open source projects. 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 Project: andOTP   Source File: BackupActivity.java    License: 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 Project: Pix-Art-Messenger   Source File: PgpEngine.java    License: 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 Project: Conversations   Source File: PgpEngine.java    License: 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;
}