From c79bda1d371256174b9fdfcd3a85881b53e8b759 Mon Sep 17 00:00:00 2001
From: Sanjana Rajan <srajan1@stanford.edu>
Date: Fri, 3 Aug 2018 14:21:15 +0200
Subject: [PATCH] bugfix - compare create time from key packet

---
 src/key.js | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/key.js b/src/key.js
index 4e90d1a2..d51c87eb 100644
--- a/src/key.js
+++ b/src/key.js
@@ -293,7 +293,7 @@ function isValidSigningKeyPacket(keyPacket, signature, date=new Date()) {
 Key.prototype.getSigningKey = async function (keyId=null, date=new Date(), userId={}) {
   const primaryKey = this.keyPacket;
   if (await this.verifyPrimaryKey(date, userId) === enums.keyStatus.valid) {
-    const subKeys = this.subKeys.slice().sort((a, b) => b.created - a.created);
+    const subKeys = this.subKeys.slice().sort((a, b) => b.keyPacket.created - a.keyPacket.created);
     for (let i = 0; i < subKeys.length; i++) {
       if (!keyId || subKeys[i].getKeyId().equals(keyId)) {
         // eslint-disable-next-line no-await-in-loop
@@ -339,7 +339,7 @@ Key.prototype.getEncryptionKey = async function(keyId, date=new Date(), userId={
   if (await this.verifyPrimaryKey(date, userId) === enums.keyStatus.valid) {
     // V4: by convention subkeys are preferred for encryption service
     // V3: keys MUST NOT have subkeys
-    const subKeys = this.subKeys.slice().sort((a, b) => b.created - a.created);
+    const subKeys = this.subKeys.slice().sort((a, b) => b.keyPacket.created - a.keyPacket.created);
     for (let i = 0; i < subKeys.length; i++) {
       if (!keyId || subKeys[i].getKeyId().equals(keyId)) {
         // eslint-disable-next-line no-await-in-loop