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);