aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2015-03-24 13:19:43 +0100
committerDominik Schürmann <dominik@dominikschuermann.de>2015-03-24 13:19:43 +0100
commit040cf42cb07c0bc58aceb048804c6d9359754499 (patch)
tree8534be929516f9a2d5a489b8fd9e14d247f1a392 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java
parentc694d73cab1edf91cb94d53cc8352ca93f0eb6ce (diff)
parenteeccd7cd1475f02a9f4650f1debc38ab6a66d866 (diff)
downloadopen-keychain-040cf42cb07c0bc58aceb048804c6d9359754499.tar.gz
open-keychain-040cf42cb07c0bc58aceb048804c6d9359754499.tar.bz2
open-keychain-040cf42cb07c0bc58aceb048804c6d9359754499.zip
Merge branch 'development' into v/crypto-input-parcel
Conflicts: OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/KeychainIntentService.java OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/CertifyKeyFragment.java OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EditKeyFragment.java OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/EncryptActivity.java OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysActivity.java OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SafeSlingerActivity.java OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/UploadKeyActivity.java
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java14
1 files changed, 10 insertions, 4 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java
index 7e70b4571..ef19e3fa1 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java
@@ -62,19 +62,19 @@ import java.util.Arrays;
import java.util.Date;
import java.util.concurrent.atomic.AtomicBoolean;
-/** This class supports a single, low-level, sign/encrypt operation.
- *
+/**
+ * This class supports a single, low-level, sign/encrypt operation.
+ * <p/>
* The operation of this class takes an Input- and OutputStream plus a
* PgpSignEncryptInput, and signs and/or encrypts the stream as
* parametrized in the PgpSignEncryptInput object. It returns its status
* and a possible detached signature as a SignEncryptResult.
- *
+ * <p/>
* For a high-level operation based on URIs, see SignEncryptOperation.
*
* @see PgpSignEncryptInputParcel
* @see org.sufficientlysecure.keychain.operations.results.PgpSignEncryptResult
* @see org.sufficientlysecure.keychain.operations.SignEncryptOperation
- *
*/
public class PgpSignEncryptOperation extends BaseOperation {
@@ -488,6 +488,12 @@ public class PgpSignEncryptOperation extends BaseOperation {
log.add(LogType.MSG_PSE_PENDING_NFC, indent);
PgpSignEncryptResult result =
new PgpSignEncryptResult(PgpSignEncryptResult.RESULT_PENDING_NFC, log);
+
+ // SignatureSubKeyId can be null.
+ if (input.getSignatureSubKeyId() == null) {
+ return new PgpSignEncryptResult(PgpSignEncryptResult.RESULT_ERROR, log);
+ }
+
// Note that the checked key here is the master key, not the signing key
// (although these are always the same on Yubikeys)
result.setNfcData(signingKey.getKeyId(), e.hashToSign, e.hashAlgo,