Set keyExpirationTime for subkey binding signature
This commit is contained in:
parent
5ee8d7505d
commit
e3eb298ab7
|
@ -1247,6 +1247,10 @@ function wrapKeyObject(secretKeyPacket, secretSubkeyPacket, options) {
|
||||||
subkeySignaturePacket.publicKeyAlgorithm = options.keyType;
|
subkeySignaturePacket.publicKeyAlgorithm = options.keyType;
|
||||||
subkeySignaturePacket.hashAlgorithm = config.prefer_hash_algorithm;
|
subkeySignaturePacket.hashAlgorithm = config.prefer_hash_algorithm;
|
||||||
subkeySignaturePacket.keyFlags = [enums.keyFlags.encrypt_communication | enums.keyFlags.encrypt_storage];
|
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);
|
subkeySignaturePacket.sign(secretKeyPacket, dataToSign);
|
||||||
|
|
||||||
packetlist.push(secretSubkeyPacket);
|
packetlist.push(secretSubkeyPacket);
|
||||||
|
|
|
@ -1335,6 +1335,12 @@ describe('Key', function() {
|
||||||
var actual_delta = (new Date(expiration) - new Date()) / 1000;
|
var actual_delta = (new Date(expiration) - new Date()) / 1000;
|
||||||
expect(Math.abs(actual_delta - expect_delta)).to.be.below(60);
|
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();
|
done();
|
||||||
}).catch(done);
|
}).catch(done);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue
Block a user