summaryrefslogtreecommitdiff
path: root/keymanager/docs/soledad-documents.rst
diff options
context:
space:
mode:
authorKali Kaneko (leap communications) <kali@leap.se>2016-08-29 22:45:12 -0400
committerKali Kaneko (leap communications) <kali@leap.se>2016-08-29 22:45:12 -0400
commitddfebdf88bf971f2a90bae01765a84d25192bbb8 (patch)
tree81f99be40b45f736dcd31aa9c1b1a8fd611f0f4f /keymanager/docs/soledad-documents.rst
parent88e078c7271a4c72fff5b8dc6346e8f39e7ea691 (diff)
parent47b57872c2ccd94f6f4900a3bd1e7a3dab9a933a (diff)
Merge leap.keymanager repo into history
Diffstat (limited to 'keymanager/docs/soledad-documents.rst')
-rw-r--r--keymanager/docs/soledad-documents.rst77
1 files changed, 77 insertions, 0 deletions
diff --git a/keymanager/docs/soledad-documents.rst b/keymanager/docs/soledad-documents.rst
new file mode 100644
index 00000000..67055b2f
--- /dev/null
+++ b/keymanager/docs/soledad-documents.rst
@@ -0,0 +1,77 @@
+=================
+Soledad Documents
+=================
+
+KeyManager uses two types of documents for the keyring:
+
+* key document, that stores each gpg key.
+
+* active document, that relates an address to its corresponding key.
+
+
+Each key can have 0 or more active documents with a different email address
+each:
+
+::
+
+ .-------------. .-------------.
+ | foo@foo.com | | bar@bar.com |
+ '-------------' '-------------'
+ | |
+ | .-----------. |
+ | | | |
+ | | key | |
+ '----->| |<----'
+ | |
+ '-----------'
+
+
+Fields in a key document:
+
+* uids
+
+* fingerprint
+
+* key_data
+
+* private. bool marking if the key is private or public
+
+* length
+
+* expiry_date
+
+* refreshed_at
+
+* version = 1
+
+* type = "OpenPGPKey"
+
+* tags = ["keymanager-key"]
+
+
+Fields in an active document:
+
+* address
+
+* fingerprint
+
+* private
+
+* validation
+
+* last_audited_at
+
+* encr_used
+
+* sign_used
+
+* version = 1
+
+* type = "OpenPGPKey-active"
+
+* tags = ["keymanager-active"]
+
+
+The meaning of validation, encr_used and sign_used is related to the `Transitional Key Validation`_
+
+.. _Transitional Key Validation: https://leap.se/en/docs/design/transitional-key-validation