add some comments to previous commit

This commit is contained in:
Vincent Breitmoser 2014-09-10 01:04:13 +02:00
parent 7dbb7cf1e1
commit d61d846b72
3 changed files with 12 additions and 1 deletions

View File

@ -335,6 +335,7 @@ public class PgpSignEncrypt {
throw new NoSigningKeyException(); throw new NoSigningKeyException();
} }
// Make sure we are allowed to sign here!
if ( ! signingKey.canSign()) { if ( ! signingKey.canSign()) {
throw new NoSigningKeyException(); throw new NoSigningKeyException();
} }

View File

@ -281,11 +281,17 @@ public class KeychainIntentService extends IntentService implements Progressable
.setOriginalFilename(originalFilename); .setOriginalFilename(originalFilename);
try { try {
// Find the appropriate subkey to sign with
CachedPublicKeyRing signingRing = CachedPublicKeyRing signingRing =
new ProviderHelper(this).getCachedPublicKeyRing(sigMasterKeyId); new ProviderHelper(this).getCachedPublicKeyRing(sigMasterKeyId);
long sigSubKeyId = signingRing.getSignId(); long sigSubKeyId = signingRing.getSignId();
// It is assumed that the passphrase was cached prior to the service call.
// Get its passphrase from cache. It is assumed that this passphrase was
// cached prior to the service call.
String passphrase = PassphraseCacheService.getCachedPassphrase(this, sigSubKeyId); String passphrase = PassphraseCacheService.getCachedPassphrase(this, sigSubKeyId);
// Set signature settings
builder.setSignatureMasterKeyId(sigMasterKeyId) builder.setSignatureMasterKeyId(sigMasterKeyId)
.setSignatureSubKeyId(sigSubKeyId) .setSignatureSubKeyId(sigSubKeyId)
.setSignaturePassphrase(passphrase) .setSignaturePassphrase(passphrase)

View File

@ -72,6 +72,7 @@ public class EncryptTextActivity extends DrawerActivity implements EncryptActivi
// model used by fragments // model used by fragments
private long mEncryptionKeyIds[] = null; private long mEncryptionKeyIds[] = null;
private String mEncryptionUserIds[] = null; private String mEncryptionUserIds[] = null;
// TODO Constants.key.none? What's wrong with a null value?
private long mSigningKeyId = Constants.key.none; private long mSigningKeyId = Constants.key.none;
private String mPassphrase = ""; private String mPassphrase = "";
private boolean mShareAfterEncrypt = false; private boolean mShareAfterEncrypt = false;
@ -313,10 +314,13 @@ public class EncryptTextActivity extends DrawerActivity implements EncryptActivi
} }
try { try {
// TODO This should really not be decided here. We do need the info for the passphrase
// TODO dialog fragment though, so that's just the way it is for now.
if (mSigningKeyId != 0) { if (mSigningKeyId != 0) {
CachedPublicKeyRing signingRing = CachedPublicKeyRing signingRing =
new ProviderHelper(this).getCachedPublicKeyRing(mSigningKeyId); new ProviderHelper(this).getCachedPublicKeyRing(mSigningKeyId);
long sigSubKeyId = signingRing.getSignId(); long sigSubKeyId = signingRing.getSignId();
// Make sure the passphrase is cached, then start over.
if (PassphraseCacheService.getCachedPassphrase(this, sigSubKeyId) == null) { if (PassphraseCacheService.getCachedPassphrase(this, sigSubKeyId) == null) {
PassphraseDialogFragment.show(this, sigSubKeyId, PassphraseDialogFragment.show(this, sigSubKeyId,
new Handler() { new Handler() {