diff --git a/FAQ.md b/FAQ.md
index b42cbcd700..9a6de72171 100644
--- a/FAQ.md
+++ b/FAQ.md
@@ -29,7 +29,6 @@ For authorizing:
* "*... Couldn't read row ...*" causes sometimes a crash. This could be caused by a bug in the [Room Persistence Library](https://developer.android.com/topic/libraries/architecture/room) but more likely indicates a corrupt database.
* A [bug in Android](https://issuetracker.google.com/issues/119872129) "*... Bad notification posted ...*" lets FairEmail crash on some devices after updating FairEmail and tapping on a notification.
* A [bug in Android](https://issuetracker.google.com/issues/62427912) "*... ActivityRecord not found for ...*" sometimes causes a crash after updating FairEmail.
-* Encryption with a token like [YubiKey](https://www.yubico.com/) results into an infinite loop. FairEmail follows the latest version of the [OpenKeychain API](https://github.com/open-keychain/openpgp-api), so this is likely being caused by an external bug.
## Planned features
@@ -392,8 +391,6 @@ If you want, you can verify a signature by opening the *signature.asc* attachmen
Encryption/decryption is a pro feature.
-Please see the [known problems](#known-problems) for a problem with tokens like a YubiKey.
-
diff --git a/app/src/main/java/eu/faircode/email/ActivityCompose.java b/app/src/main/java/eu/faircode/email/ActivityCompose.java
index 8379154772..8a308f2140 100644
--- a/app/src/main/java/eu/faircode/email/ActivityCompose.java
+++ b/app/src/main/java/eu/faircode/email/ActivityCompose.java
@@ -47,6 +47,7 @@ public class ActivityCompose extends ActivityBilling implements FragmentManager.
static final int REQUEST_IMAGE = 4;
static final int REQUEST_ATTACHMENT = 5;
static final int REQUEST_ENCRYPT = 6;
+ static final int REQUEST_SIGN = 7;
@Override
protected void onCreate(Bundle savedInstanceState) {
diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java
index 069c61dbaf..be4a273465 100644
--- a/app/src/main/java/eu/faircode/email/FragmentCompose.java
+++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java
@@ -1104,7 +1104,7 @@ public class FragmentCompose extends FragmentBase {
data.putExtra(OpenPgpApi.EXTRA_USER_IDS, tos);
data.putExtra(OpenPgpApi.EXTRA_REQUEST_ASCII_ARMOR, true);
- encrypt(data);
+ encrypt(data, false);
} catch (Throwable ex) {
if (ex instanceof IllegalArgumentException)
Snackbar.make(view, ex.getMessage(), Snackbar.LENGTH_LONG).show();
@@ -1129,26 +1129,32 @@ public class FragmentCompose extends FragmentBase {
}
}
- private void encrypt(Intent data) {
+ private void encrypt(Intent data, boolean sign) {
final Bundle args = new Bundle();
args.putLong("id", working);
args.putParcelable("data", data);
+ args.putBoolean("sign", sign);
- new SimpleTask() {
+ new SimpleTask