From ff4181ad5a42c3fcbe775a8607cc10db08908e59 Mon Sep 17 00:00:00 2001 From: larabr <7375870+larabr@users.noreply.github.com> Date: Fri, 8 Dec 2023 14:00:22 +0100 Subject: [PATCH] Add back zlib and zip to preferred compression algos on key generation To signal support, despite "no compression" being preferred by default, for security reasons. --- src/key/factory.js | 4 +++- test/general/key.js | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/key/factory.js b/src/key/factory.js index 43f07c06..37ee2a77 100644 --- a/src/key/factory.js +++ b/src/key/factory.js @@ -221,7 +221,9 @@ async function wrapKeyObject(secretKeyPacket, secretSubkeyPackets, options, conf enums.hash.sha3_512 ], config.preferredHashAlgorithm); signatureProperties.preferredCompressionAlgorithms = createPreferredAlgos([ - enums.compression.uncompressed + enums.compression.uncompressed, + enums.compression.zlib, + enums.compression.zip ], config.preferredCompressionAlgorithm); // integrity protection always enabled signatureProperties.features = [0]; diff --git a/test/general/key.js b/test/general/key.js index 07c7b092..34442073 100644 --- a/test/general/key.js +++ b/test/general/key.js @@ -2264,7 +2264,7 @@ function versionSpecificTests() { const hash = openpgp.enums.hash; expect(selfSignature.preferredHashAlgorithms).to.eql([hash.sha256, hash.sha512, hash.sha3_256, hash.sha3_512]); const compr = openpgp.enums.compression; - expect(selfSignature.preferredCompressionAlgorithms).to.eql([compr.uncompressed]); + expect(selfSignature.preferredCompressionAlgorithms).to.eql([compr.uncompressed, compr.zlib, compr.zip]); let expectedFeatures = 0x01; // SEIPDv1 if (openpgp.config.aeadProtect) { @@ -2319,7 +2319,7 @@ function versionSpecificTests() { const hash = openpgp.enums.hash; expect(selfSignature.preferredHashAlgorithms).to.eql([hash.sha224, hash.sha256, hash.sha512, hash.sha3_256, hash.sha3_512]); const compr = openpgp.enums.compression; - expect(selfSignature.preferredCompressionAlgorithms).to.eql([compr.zlib, compr.uncompressed]); + expect(selfSignature.preferredCompressionAlgorithms).to.eql([compr.zlib, compr.uncompressed, compr.zip]); let expectedFeatures = 0x01; // SEIPDv1 if (openpgp.config.aeadProtect) {