summaryrefslogtreecommitdiff
path: root/docs/keymanager
diff options
context:
space:
mode:
authorKali Kaneko (leap communications) <kali@leap.se>2016-10-03 20:40:03 -0400
committerKali Kaneko (leap communications) <kali@leap.se>2016-10-03 21:48:27 -0400
commit5519d02f609a87b0ca47a8e82c116811005b6277 (patch)
treeeea053d2ff8f99a80b2595119cfae829781135a1 /docs/keymanager
parent8cdbf714b905246363221089bbf8579e7c8e020c (diff)
[docs] revamp bitmask dev docs
Diffstat (limited to 'docs/keymanager')
-rw-r--r--docs/keymanager/index.rst82
1 files changed, 82 insertions, 0 deletions
diff --git a/docs/keymanager/index.rst b/docs/keymanager/index.rst
new file mode 100644
index 00000000..fa3f0c83
--- /dev/null
+++ b/docs/keymanager/index.rst
@@ -0,0 +1,82 @@
+.. _keymanager:
+
+=================
+Keymanager
+=================
+
+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