From e32c1a9ced4c3409d4cf581dc1206968b6c86ef4 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Thu, 17 Dec 2015 01:08:23 +0100 Subject: api: add micalg result extra to detached signature api call --- .../sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp') 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 45641b33a..40d6a710b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/pgp/PgpSignEncryptOperation.java @@ -32,6 +32,7 @@ import org.spongycastle.openpgp.PGPException; import org.spongycastle.openpgp.PGPLiteralData; import org.spongycastle.openpgp.PGPLiteralDataGenerator; import org.spongycastle.openpgp.PGPSignatureGenerator; +import org.spongycastle.openpgp.PGPUtil; import org.spongycastle.openpgp.operator.jcajce.JcePBEKeyEncryptionMethodGenerator; import org.spongycastle.openpgp.operator.jcajce.JcePGPDataEncryptorBuilder; import org.spongycastle.openpgp.operator.jcajce.NfcSyncPGPContentSignerBuilder; @@ -574,6 +575,13 @@ public class PgpSignEncryptOperation extends BaseOperation { // silently catch } result.setDetachedSignature(detachedByteOut.toByteArray()); + try { + String digestName = PGPUtil.getDigestName(input.getSignatureHashAlgorithm()); + // construct micalg parameter according to https://tools.ietf.org/html/rfc3156#section-5 + result.setMicAlgDigestName("pgp-" + digestName.toLowerCase()); + } catch (PGPException e) { + Log.e(Constants.TAG, "error setting micalg parameter!", e); + } } return result; } -- cgit v1.2.3