Merge pull request #576 from mailvelope/subkey_expiration_time

Set keyExpirationTime for subkey binding signature
This commit is contained in:
Bart Butler 2017-08-30 12:50:46 -07:00 committed by GitHub
commit 42d531f9b5
2 changed files with 10 additions and 0 deletions

View File

@ -1247,6 +1247,10 @@ function wrapKeyObject(secretKeyPacket, secretSubkeyPacket, options) {
subkeySignaturePacket.publicKeyAlgorithm = options.keyType;
subkeySignaturePacket.hashAlgorithm = config.prefer_hash_algorithm;
subkeySignaturePacket.keyFlags = [enums.keyFlags.encrypt_communication | enums.keyFlags.encrypt_storage];
if (options.keyExpirationTime > 0) {
subkeySignaturePacket.keyExpirationTime = options.keyExpirationTime;
subkeySignaturePacket.keyNeverExpires = false;
}
subkeySignaturePacket.sign(secretKeyPacket, dataToSign);
packetlist.push(secretSubkeyPacket);

View File

@ -1335,6 +1335,12 @@ describe('Key', function() {
var actual_delta = (new Date(expiration) - new Date()) / 1000;
expect(Math.abs(actual_delta - expect_delta)).to.be.below(60);
var subKeyExpiration = key.subKeys[0].getExpirationTime();
expect(subKeyExpiration).to.exist;
var actual_subKeyDelta = (new Date(subKeyExpiration) - new Date()) / 1000;
expect(Math.abs(actual_subKeyDelta - expect_delta)).to.be.below(60);
done();
}).catch(done);
});