Nick Mathewson
a939b19479
rpc: update rpc-meta-draft with new behavior.
2023-05-24 10:15:56 -04:00
Nick Mathewson
d75b4af0f1
key-management.md: Add a note deprecating unescorted ed secrets
2023-05-18 14:18:53 -04:00
gabi-250
3c34c84f3f
Merge branch 'key-mgmt-api-updates-v2' into 'main'
...
dev docs: key-management.md updates and clarifications
See merge request tpo/core/arti!1185
2023-05-16 15:53:57 +00:00
Gabriela Moldovan
80ec4d01ae
dev docs: The key store version file should specify a minimum supported version.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-16 15:46:59 +01:00
Nick Mathewson
9c7680d1f8
rpc: Clarify how authentication works.
2023-05-16 09:08:25 -04:00
Nick Mathewson
c89fac9c3c
rpc: Clarify some object ID docs and remove impl details.
2023-05-16 09:08:25 -04:00
Nick Mathewson
585554d954
rpc: Revise example in documentation
2023-05-16 09:08:25 -04:00
Gabriela Moldovan
601f307fdd
dev docs: Remove unused arguments.
...
There are several places where he `KeyType` isn't needed anymore.
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-16 11:38:00 +01:00
Gabriela Moldovan
47f15c8df5
dev docs: Clarify how C Tor key store loads keys from multiple different key dirs.
...
This also moves the `extension` function out of `KeyType` because for
the C Tor key store, a key's file extension depends on the role/user of
the key, which isn't known by `KeyType` (`KeyType` is a tor-agnostic key
type such as `Ed25519Private`).
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-16 11:37:55 +01:00
Gabriela Moldovan
4315d2e106
dev docs: Distinguish between arti_extension and ctor_extension.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-16 11:32:45 +01:00
Gabriela Moldovan
20e1e3004b
dev docs: Clarify that ArtiPath/CTorPath are relative to the key store root.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-16 11:32:42 +01:00
Gabriela Moldovan
d518a1c1d8
dev docs: Add note about key store versioning.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-16 11:32:38 +01:00
Gabriela Moldovan
6b417fbbf9
dev docs: Add note about C Tor store configuration.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-16 11:32:31 +01:00
Gabriela Moldovan
6a1427db6f
dev docs: Move the key passphrases subsection to the Arti store section.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-16 10:59:36 +01:00
Gabriela Moldovan
4b95a8ac4e
dev docs: Create a separate section for the C tor key store discussion.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-16 10:59:33 +01:00
Gabriela Moldovan
702dfbddb0
dev docs: Rename {Key, HsClient}Identity.
...
This renames `KeyIdentity` to `KeySpecifier` so it doesn't get confused
with the concept of an "identity key". `HsClientIdentity` is also
renamed for consistency.
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-05-16 10:59:23 +01:00
Nick Mathewson
ca74fb448b
Merge branch 'api-sketch' into 'main'
...
Add a sketch for our FFI/RPC architecture
See merge request tpo/core/arti!1005
2023-05-03 14:05:29 +00:00
Gabriela Moldovan
17ff3a6f6a
dev docs: Add a few lines about handling concurrent access.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-04-25 18:54:25 +01:00
Gabriela Moldovan
5407e599ab
dev docs: Fill out insert/remove APIs.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-04-25 18:54:20 +01:00
Gabriela Moldovan
67061688a6
dev docs: Remove incoherent waffle.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-04-25 18:54:16 +01:00
Gabriela Moldovan
a5ff3191e9
dev docs: Update KeyMgr implementation based on latest discussions.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-04-25 18:54:11 +01:00
Gabriela Moldovan
3202aa33c5
dev docs: Remove unnecessary trait bounds.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-04-25 18:54:05 +01:00
Gabriela Moldovan
6c6e03ec4a
dev docs: Remove outdated reference to the comment field.
...
We decided against using it.
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-04-25 18:54:00 +01:00
Gabriela Moldovan
37493b6bd3
dev docs: Add namespacing for client/hs/relay/.. keys.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-04-25 18:53:56 +01:00
Gabriela Moldovan
0be6e0a4ca
dev docs: Remove KeyIdentityResult.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-04-25 18:53:47 +01:00
Gabriela Moldovan
9af07e91a2
dev docs: Remove HSM APIs.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-04-25 18:53:42 +01:00
Gabriela Moldovan
49ff17901b
dev docs: clarify what a "key identity" is.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-04-25 18:53:38 +01:00
Gabriela Moldovan
28bac87d96
dev docs: Allow multiple key stores to be in use at the same time.
...
The key manager needs to be flexible enough to support loading keys from
one of several key stores. This is because when we add support for smart
cards, users will want to be able to store some keys on the smart card,
and others in one of the disk key stores (for example).
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-04-25 18:53:31 +01:00
Gabriela Moldovan
fb6d5dc0d9
dev docs: Add some impls for `LocalUserIdentity`.
...
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-04-25 18:53:22 +01:00
Gabriela Moldovan
dc616d9e07
dev docs: Add key manager API sketch.
...
This is the first draft of the key manager API.
I don't expect this to be the final version of the API, and I'm sure
there are plenty of improvements to be made. This is mostly a request
for comments.
Closes #834
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
2023-04-25 18:53:05 +01:00
Nick Mathewson
e524f05aa9
rpc spec: define method namespacing.
...
Closes #822
2023-04-13 10:50:30 -04:00
Nick Mathewson
8dd65dcd5f
rpc, spec: Document current ObjectError, RequestError behavior as correct.
2023-04-13 09:03:52 -04:00
Nick Mathewson
ea77f959fb
rpc: Change `id=<SYNTAX>` to "no id".
...
Now instead of hoping that buggy clients will detect a magic `id`,
we can simply tell them that they will get no `id` at all. If they
can't handle that case, no major harm is done: the connection will
get closed anyway.
2023-04-13 09:03:52 -04:00
Nick Mathewson
89568ead54
rpc spec: Allocate a special ID for syntax errors.
2023-04-12 15:17:15 -04:00
Nick Mathewson
873f9285af
rpc spec: Change arti_kinds => kinds per discussion.
2023-04-12 12:20:24 -04:00
Nick Mathewson
ee5478ed40
rpc: terminology edits around "method" in spec draft
...
Always "method", never "command".
Always "authentication scheme", never "authentication method".
2023-04-12 11:11:01 -04:00
Nick Mathewson
4c020de38c
Add notes on how to test the RPC engine
2023-04-12 07:34:57 -04:00
Nick Mathewson
3648ea08c9
Add notes on how to test the RPC engine
2023-04-12 07:34:57 -04:00
Nick Mathewson
b9b5e9940a
rpc: Fix typos/grammar errors
2023-04-11 20:02:01 +01:00
Ian Jackson
0be641e49a
rpc: Rewrite `data` spec in JSON terms
2023-04-11 20:02:01 +01:00
Ian Jackson
3ac94956ef
rpc: Clarify that error formatting display is indicative
2023-04-11 20:02:01 +01:00
Ian Jackson
1268223cff
Use non-JSON-RPC-reserved values for our own errors
2023-04-11 20:02:01 +01:00
Ian Jackson
1e2a549960
rpc: Fix mistake in "JSON-RPC compatibility" section for errors
2023-04-11 20:02:01 +01:00
Ian Jackson
3d5ef53596
rpc: Discourage use of `code`
2023-04-11 20:02:01 +01:00
Ian Jackson
9c47558b10
rpc: Warn about relying too much about `data`
2023-04-11 20:02:01 +01:00
Ian Jackson
6c5577ab92
rpc: Provide example of an error response
2023-04-11 20:02:01 +01:00
Ian Jackson
ef834a2c0b
rpc: Provide a list of ErrorKind strings
...
Prompted by
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1107#note_2893078
2023-04-11 20:02:01 +01:00
Ian Jackson
9f8ba36814
rpc: Be more explicit about what the string error message is for (typo)
2023-04-11 20:02:01 +01:00
Nick Mathewson
1bc8bb4fb4
rpc: Be more explicit about what the string error message is for
2023-04-11 20:02:01 +01:00
Ian Jackson
fca4535066
rpc: Proposed error format
2023-04-11 20:02:01 +01:00