summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--changes/bug-serializable-keys1
-rw-r--r--src/leap/keymanager/keys.py14
2 files changed, 15 insertions, 0 deletions
diff --git a/changes/bug-serializable-keys b/changes/bug-serializable-keys
new file mode 100644
index 00000000..0885fd28
--- /dev/null
+++ b/changes/bug-serializable-keys
@@ -0,0 +1 @@
+- encryption keys can now be serialized to json using key.get_dict()
diff --git a/src/leap/keymanager/keys.py b/src/leap/keymanager/keys.py
index 38d66b5f..34d921c5 100644
--- a/src/leap/keymanager/keys.py
+++ b/src/leap/keymanager/keys.py
@@ -258,6 +258,20 @@ class EncryptionKey(object):
KEY_TAGS_KEY: [KEYMANAGER_ACTIVE_TAG],
})
+ def get_dict(self):
+ """
+ :return: a serializable dict representation of this key.
+ :rtype: dict
+ """
+ return {
+ KEY_ADDRESS_KEY: self.address,
+ KEY_UIDS_KEY: self.uids,
+ KEY_FINGERPRINT_KEY: self.fingerprint,
+ KEY_LENGTH_KEY: self.length,
+ KEY_EXPIRY_DATE_KEY: str(self.expiry_date),
+ KEY_DATA_KEY: self.key_data
+ }
+
def __repr__(self):
"""
Representation of this class