From 8092896f412e16877eab45c96946ef2f91575a93 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Thu, 17 Nov 2016 10:46:05 +0100 Subject: [PATCH] update OpenPgpSignatureResult to version 4, support signatureTimestamp --- .../keychain/pgp/OpenPgpSignatureResultBuilder.java | 10 ++++++++-- .../keychain/pgp/PgpSignatureChecker.java | 2 ++ extern/openpgp-api-lib | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OpenPgpSignatureResultBuilder.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OpenPgpSignatureResultBuilder.java index fcd8a4b1e..e74879e43 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OpenPgpSignatureResultBuilder.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/OpenPgpSignatureResultBuilder.java @@ -19,6 +19,7 @@ package org.sufficientlysecure.keychain.pgp; import java.util.ArrayList; +import java.util.Date; import org.openintents.openpgp.OpenPgpSignatureResult; import org.openintents.openpgp.OpenPgpSignatureResult.SenderStatusResult; @@ -54,6 +55,7 @@ public class OpenPgpSignatureResultBuilder { private boolean mIsKeyExpired = false; private boolean mInsecure = false; private String mSenderAddress; + private Date mSignatureTimestamp; public OpenPgpSignatureResultBuilder(ProviderHelper providerHelper) { this.mProviderHelper = providerHelper; @@ -67,6 +69,10 @@ public class OpenPgpSignatureResultBuilder { this.mKeyId = keyId; } + public void setSignatureTimestamp(Date signatureTimestamp) { + mSignatureTimestamp = signatureTimestamp; + } + public void setKnownKey(boolean knownKey) { this.mKnownKey = knownKey; } @@ -163,7 +169,7 @@ public class OpenPgpSignatureResultBuilder { if (!mKnownKey) { Log.d(Constants.TAG, "RESULT_KEY_MISSING"); - return OpenPgpSignatureResult.createWithKeyMissing(mKeyId); + return OpenPgpSignatureResult.createWithKeyMissing(mKeyId, mSignatureTimestamp); } if (!mValidSignature) { @@ -190,7 +196,7 @@ public class OpenPgpSignatureResultBuilder { } return OpenPgpSignatureResult.createWithValidSignature( - signatureStatus, mPrimaryUserId, mKeyId, mUserIds, mConfirmedUserIds, mSenderStatusResult); + signatureStatus, mPrimaryUserId, mKeyId, mUserIds, mConfirmedUserIds, mSenderStatusResult, mSignatureTimestamp); } public void setSenderAddress(String senderAddress) { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignatureChecker.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignatureChecker.java index 9e63a71a3..ed0350a15 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignatureChecker.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignatureChecker.java @@ -237,6 +237,7 @@ class PgpSignatureChecker { signatureResultBuilder.setInsecure(true); } + signatureResultBuilder.setSignatureTimestamp(signature.getCreationTime()); signatureResultBuilder.setValidSignature(validSignature); } @@ -271,6 +272,7 @@ class PgpSignatureChecker { signatureResultBuilder.setInsecure(true); } + signatureResultBuilder.setSignatureTimestamp(messageSignature.getCreationTime()); signatureResultBuilder.setValidSignature(validSignature); return true; diff --git a/extern/openpgp-api-lib b/extern/openpgp-api-lib index 9fac21e1b..d0af1b5ba 160000 --- a/extern/openpgp-api-lib +++ b/extern/openpgp-api-lib @@ -1 +1 @@ -Subproject commit 9fac21e1b5fca88f2a394029ee2892d286028c02 +Subproject commit d0af1b5bae77664ca7126a113f9833a8ec2cd045