Set signature feature subpacket depending on config.integrity_protect flag

This commit is contained in:
Thomas Oberndörfer 2014-03-29 15:39:26 +01:00
parent 1c818f2410
commit 5eca11ca5b
2 changed files with 5 additions and 3 deletions

View File

@ -929,8 +929,10 @@ function generate(keyType, numBits, userId, passphrase) {
signaturePacket.preferredCompressionAlgorithms = []; signaturePacket.preferredCompressionAlgorithms = [];
signaturePacket.preferredCompressionAlgorithms.push(enums.compression.zlib); signaturePacket.preferredCompressionAlgorithms.push(enums.compression.zlib);
signaturePacket.preferredCompressionAlgorithms.push(enums.compression.zip); signaturePacket.preferredCompressionAlgorithms.push(enums.compression.zip);
signaturePacket.features = []; if (config.integrity_protect) {
signaturePacket.features.push(1); // Modification Detection signaturePacket.features = [];
signaturePacket.features.push(1); // Modification Detection
}
signaturePacket.sign(secretKeyPacket, dataToSign); signaturePacket.sign(secretKeyPacket, dataToSign);
var secretSubkeyPacket = new packet.SecretSubkey(); var secretSubkeyPacket = new packet.SecretSubkey();

View File

@ -490,7 +490,7 @@ describe('Key', function() {
expect(key.users[0].selfCertifications[0].preferredHashAlgorithms).to.eql([hash.sha256, hash.sha1, hash.sha512]); expect(key.users[0].selfCertifications[0].preferredHashAlgorithms).to.eql([hash.sha256, hash.sha1, hash.sha512]);
var compr = openpgp.enums.compression; var compr = openpgp.enums.compression;
expect(key.users[0].selfCertifications[0].preferredCompressionAlgorithms).to.eql([compr.zlib, compr.zip]); 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'); var key = openpgp.generateKeyPair(openpgp.enums.publicKey.rsa_encrypt_sign, 512, 'test', 'hello');
testPref(key.key); testPref(key.key);