summaryrefslogtreecommitdiff
path: root/crates/tor-keymgr/src/mgr.rs
Commit message (Collapse)AuthorAgeFilesLines
* tor-keymgr: Fix two docs linksIan Jackson2024-02-051-1/+1
| | | | (These were broken by recent MRs so don't need a CHANGELOG update in !1950.)
* tor-keymgr: Apply cargo fmt.Gabriela Moldovan2024-02-011-1/+0
|
* tor-keymgr: Abolish get_or_generate_with_derived.Gabriela Moldovan2024-02-011-58/+1
|
* tor-keymgr: Rewrite get_or_generate() using of get() and generate().Gabriela Moldovan2024-02-011-6/+15
| | | | | We are about to remove `KeyMgr::get_or_generate_with_derived`, so this rewrites `KeyMgr::get_or_generate` without using it.
* tor-keymgr: Abolish KeyMgr::generate_with_derived.Gabriela Moldovan2024-02-011-155/+24
|
* tor-keymgr: Make KeyMgr::generate return the generated key.Gabriela Moldovan2024-02-011-4/+12
| | | | | | | `KeyMgr::generate` is now quite similar to `KeyMgr::get_or_generate`, so we will soon remove the latter. Part of #1074
* tor-keymgr: Turn some TODO HSS into #1194.Gabriela Moldovan2024-01-101-2/+2
|
* tor-keymgr: Turn some TODOs into #1115.Gabriela Moldovan2024-01-101-2/+2
|
* tor-keymgr: Turn some TODOs into #1119.Gabriela Moldovan2024-01-101-2/+2
|
* tor-keymgr: Downgrade some TODO HSS.Gabriela Moldovan2024-01-101-4/+4
|
* KeySpecifier d-a macro: rename from KeySpecifierDefaultIan Jackson2024-01-031-1/+1
| | | | arti#1151 item 1.
* tor-keymgr: Fix some docs warningsIan Jackson2023-12-061-3/+4
| | | | | Fixes cargo doc --locked --workspace --all-features --document-private-items
* tor-keymgr: Add a cross-reference to register_key_info_extractor.Gabriela Moldovan2023-12-051-0/+4
|
* tor-keymgr: Add KeyMgr::remove_with_type.Gabriela Moldovan2023-12-051-0/+18
| | | | | Sometimes we need to remove a key without knowing its concrete (Rust) type (only its `KeySpecifier` and `KeyType`).
* tor-keymgr: Add a function for describing a KeyPath.Gabriela Moldovan2023-12-051-2/+17
|
* tor-keymgr: Add a way of registering key info extractors using inventory.Gabriela Moldovan2023-12-051-3/+26
|
* tor-keymgr: Write some KeyMgrBuilder functions by hand.Gabriela Moldovan2023-11-281-16/+57
| | | | | | | Eventually these will need to be auto-generated, but that is not possible right now. Context: https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1760#note_2969841
* tor-keymgr: Abolish KeyMgr::new.Gabriela Moldovan2023-11-271-13/+0
| | | | We don't use this now that we have a `KeyMgrBuilder`.
* tor-keymgr: Derive Builder for KeyMgr (fmt).Gabriela Moldovan2023-11-271-8/+11
|
* tor-keymgr: Derive Builder for KeyMgr.Gabriela Moldovan2023-11-271-32/+36
| | | | | | | `KeyMgr` is soon going to have more fields, so now is a good time to derive `Builder` for it. Closes #1114
* tor-keymgr: Apply review suggestions to various doc comments.Gabriela Moldovan2023-11-201-1/+2
|
* tor-keymgr: Add missing backticks.Gabriela Moldovan2023-11-131-2/+2
|
* tor-keymgr: Move module-level docs to KeyMgr.Gabriela Moldovan2023-11-131-13/+13
| | | | The module is private so it won't show up in the public docs.
* tor-keymgr: Clarify how the default/secondary stores are used.Gabriela Moldovan2023-11-131-2/+25
|
* tor-keymgr: Abolish KeyPathPatternSet.Gabriela Moldovan2023-11-131-3/+3
| | | | | | We don't really need it. Closes #1066
* tor-keymgr: Remove derive_meta arg from KeyMgr::list_matching (fmt).Gabriela Moldovan2023-11-021-9/+4
|
* tor-keymgr: Remove derive_meta arg from KeyMgr::list_matching.Gabriela Moldovan2023-11-021-18/+8
| | | | | This addresses the TODO that resulted from this thread https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1677#note_2955700
* tor-keymgr: Rename key_stores to secondary_stores for clarity.Gabriela Moldovan2023-10-241-8/+8
| | | | | | The name `key_stores` was a bit misleading, as this field only contains the _secondary_ key stores (the primary/default key store is stored in a separate field).
* tor-keymgr: list() should include the keys from the default key store.Gabriela Moldovan2023-10-241-2/+1
| | | | | `KeyMgr::list()` was supposed to look in _all_ key stores, not just the secondary ones.
* tor-keymgr: Add tests for get_or_generate.Gabriela Moldovan2023-10-191-0/+63
|
* tor-keymgr: Add KeyMgr::get_or_generate.Gabriela Moldovan2023-10-191-0/+23
|
* tor-keymgr: Add get_or_create_with_derived.Gabriela Moldovan2023-10-191-0/+34
|
* tor-keymgr: Rename KeyPathError to ArtiPathUnavailableError (fmt).Gabriela Moldovan2023-10-191-1/+1
|
* tor-keymgr: Rename KeyPathError to ArtiPathUnavailableError.Gabriela Moldovan2023-10-191-3/+3
|
* tor-keymgr: Add TODO about removing metadata handling from keymgr.Gabriela Moldovan2023-10-191-0/+3
|
* tor-keymgr: Add a get_with_type keymgr function.Gabriela Moldovan2023-10-191-1/+28
|
* tor-keymgr: Add KeyMgr::list_matching for retrieving keys that match a given ↵Gabriela Moldovan2023-10-191-2/+32
| | | | pattern.
* tor-keymgr: Add function for listing all entries in a keystore.Gabriela Moldovan2023-10-191-1/+6
|
* tor-keymgr: Give KeyType an Unknown variant.Gabriela Moldovan2023-10-191-22/+26
|
* tor-keymgr: Use ArtiPathError for invalid ArtiPaths.Gabriela Moldovan2023-10-191-7/+8
|
* tor-keymgr: Make generate_with_derived validate any existing key pairs.Gabriela Moldovan2023-10-091-4/+40
|
* tor-keymgr: Add KeyMgr::generate_with_derived for generating keypairs.Gabriela Moldovan2023-10-091-6/+130
| | | | | | | | | | | | | | | | When generating a keypair, `KeyMgr::generate` inserts a single entry representing the keypair into the keystore. However, for some keypairs, the keystore will need contain a separate entry containing just the public part of the keypair. This commit introduces `KeyMgr::generate_with_derived`, which generates 2 entries in the specified keystore: one for the keypair and another for the public key, which makes it easier to insert keypairs and their corresponding public keys into the keystore without to fall out of sync. Previously, generating a (public, private) keypair involved generating a new keypair with `KeyMgr::generate` and manually inserting the corresponding public key entry.
* tor-keymgr: Factor the generate() function into a separate trait.Gabriela Moldovan2023-10-091-9/+15
| | | | | | `EncodableKey` is a trait for encoding keypairs and public keys. Keygen only makes sense for key_pairs_ (it doesn't make sense for public keys), so it makes sense to move `generate()` out of `EncodableKey`,
* tor-keymgr: Make SshKeyData accessors more idiomatic.Gabriela Moldovan2023-09-261-1/+1
|
* tor-keymgr: Rename as_ssh_keypair_data to as_ssh_key_data.Gabriela Moldovan2023-09-261-2/+2
| | | | | This function no longer returns `KeypairData` (it now returns `SshKeyData`).
* tor-keymgr: Make EncodableKey support public keys too.Gabriela Moldovan2023-09-251-5/+5
| | | | | | | | | Previously, `EncodableKey::to_keypair_data` could only be used for encoding private keys (its return type was `KeypairData`). Now `EncodableKey::to_keypair_data` can return public key data (`KeyData`) too. Note: `to_keypair_data()` will be renamed in a future commit.
* Run maint/add_warning to add lint block everywhereIan Jackson2023-08-231-0/+1
|
* tor-keymgr: Re-export ssh-key.Gabriela Moldovan2023-08-161-3/+5
| | | | | | | | | | The `KeypairData` type from [ssh-key] at some point leaked into the keymgr API (via the `EncodableKey` trait). Instead of re-exporting just `KeypairData`, let's re-export the entire `ssh_key` crate (`EncodableKey` implementors would need additional types from `ssh_key` to construct a `KeypairData` object anyway). [ssh-key]: https://crates.io/crates/ssh-key
* keymgr: Replace EncodableKey::to_bytes() with SSH-specific function.Gabriela Moldovan2023-08-021-4/+8
| | | | | | | | | | | The `EncodableKey::to_bytes` function didn't make much sense, because not all keys have a canonical byte representation. This commit replaces `EncodableKey::to_bytes` with `EncodableKey::as_ssh_keypair_data`. In the future, `EncodableKey` will grow functions for encoding keys in other storage formats too. Closes #965
* keymgr: Add TODO regarding generate() being racy.Gabriela Moldovan2023-07-271-0/+3
|