From 5eca11ca5bf0f9248a13f70bd1be1bdf78cb4d6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Obernd=C3=B6rfer?= Date: Sat, 29 Mar 2014 15:39:26 +0100 Subject: [PATCH] Set signature feature subpacket depending on config.integrity_protect flag --- src/key.js | 6 ++++-- test/general/key.js | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/key.js b/src/key.js index e6678fcc..c5c9f87d 100644 --- a/src/key.js +++ b/src/key.js @@ -929,8 +929,10 @@ function generate(keyType, numBits, userId, passphrase) { signaturePacket.preferredCompressionAlgorithms = []; signaturePacket.preferredCompressionAlgorithms.push(enums.compression.zlib); signaturePacket.preferredCompressionAlgorithms.push(enums.compression.zip); - signaturePacket.features = []; - signaturePacket.features.push(1); // Modification Detection + if (config.integrity_protect) { + signaturePacket.features = []; + signaturePacket.features.push(1); // Modification Detection + } signaturePacket.sign(secretKeyPacket, dataToSign); var secretSubkeyPacket = new packet.SecretSubkey(); diff --git a/test/general/key.js b/test/general/key.js index 89432efa..42da9d2f 100644 --- a/test/general/key.js +++ b/test/general/key.js @@ -490,7 +490,7 @@ describe('Key', function() { expect(key.users[0].selfCertifications[0].preferredHashAlgorithms).to.eql([hash.sha256, hash.sha1, hash.sha512]); var compr = openpgp.enums.compression; expect(key.users[0].selfCertifications[0].preferredCompressionAlgorithms).to.eql([compr.zlib, compr.zip]); - expect(key.users[0].selfCertifications[0].features).to.eql([1]); // modification detection + expect(key.users[0].selfCertifications[0].features).to.eql(openpgp.config.integrity_protect ? [1] : null); // modification detection } var key = openpgp.generateKeyPair(openpgp.enums.publicKey.rsa_encrypt_sign, 512, 'test', 'hello'); testPref(key.key);