| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | tor-keymgr: Add KeyPathPattern constructor that does not match any valid paths. | Gabriela Moldovan | 2023-10-19 | 1 | -0/+7 | |
| | | ||||||
| * | tor-keymgr: Add a get_with_type keymgr function. | Gabriela Moldovan | 2023-10-19 | 1 | -1/+28 | |
| | | ||||||
| * | tor-keymgr: Add KeyMgr::list_matching for retrieving keys that match a given ↵ | Gabriela Moldovan | 2023-10-19 | 2 | -3/+33 | |
| | | | | | pattern. | |||||
| * | tor-keymgr: Add function for listing all entries in a keystore. | Gabriela Moldovan | 2023-10-19 | 4 | -5/+164 | |
| | | ||||||
| * | tor-keymgr: Add From<&str> impl for KeyType. | Gabriela Moldovan | 2023-10-19 | 1 | -0/+45 | |
| | | ||||||
| * | tor-keymgr: Give KeyType an Unknown variant. | Gabriela Moldovan | 2023-10-19 | 7 | -95/+121 | |
| | | ||||||
| * | tor-keymgr: Add matching functionality and types for representing patterns. | Gabriela Moldovan | 2023-10-19 | 3 | -1/+77 | |
| | | ||||||
| * | tor-keymgr: Implement KeySpecifier for ArtiPath, CTorPath, KeyPath. | Gabriela Moldovan | 2023-10-19 | 1 | -0/+36 | |
| | | | | | | | | Many keymgr APIs require a `&dyn KeySpecifier`, which essentially represents an `ArtiPath` and an optional `CTorPath`. Implementing `KeySpecifier` for `ArtiPath`/`CTorPath`/`KeyPath` will enable keymgr users to pass a `ArtiPath`/`CTorPath`/`KeyPath` to these APIs. | |||||
| * | tor-keymgr: Use ArtiPathError for invalid ArtiPaths (fmt). | Gabriela Moldovan | 2023-10-19 | 1 | -2/+10 | |
| | | ||||||
| * | tor-keymgr: Use ArtiPathError for invalid ArtiPaths. | Gabriela Moldovan | 2023-10-19 | 3 | -65/+112 | |
| | | ||||||
| * | tor-keymgr: Add an error type for invalid key paths. | Gabriela Moldovan | 2023-10-19 | 1 | -1/+29 | |
| | | ||||||
| * | tor-keymgr: Add ArtiPathError, KeyPathError (fmt). | Gabriela Moldovan | 2023-10-19 | 1 | -1/+3 | |
| | | ||||||
| * | tor-keymgr: Add ArtiPathError, KeyPathError. | Gabriela Moldovan | 2023-10-19 | 2 | -1/+34 | |
| | | ||||||
| * | tor-keymgr: Add an enum for representing an ArtiPath or a CTorPath. | Gabriela Moldovan | 2023-10-19 | 2 | -2/+30 | |
| | | | | | | | This will enable the future `KeyMgr::list_matching()` API to return a list that contains results from (potentially) multiple different keystore backends. | |||||
| * | tor-keymgr: Add some more derives for ArtiPath and CTorPath. | Gabriela Moldovan | 2023-10-19 | 1 | -2/+2 | |
| | | ||||||
| * | tor-keymgr: Disallow consecutive . in paths | Neel Chauhan | 2023-10-16 | 1 | -6/+6 | |
| | | ||||||
| * | tor-keymgr: Encode whether the key is public or private in the file extension. | Gabriela Moldovan | 2023-10-13 | 2 | -5/+7 | |
| | | | | | | | | | | | | | | | There are 2 reasons to make this change: * because having the word `private` in the extension will make it more difficult to accidentally misuse or misplace a private key (see https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1618#note_2947461) * because `Keystore`s will soon grow a `list()` function returning all `(ArtiPath, KeyType)`s in the keystore, and in order for `ArtiNativeKeystore` to implement this function, it will need to be able to reverse the `KeyType -> file extension` mapping (if two different `KeyType`s are mapped to the same extension, `ArtiNativeKeystore`s won't be able to reverse the mapping) | |||||
| * | tor-keymgr: Make generate_with_derived validate any existing key pairs. | Gabriela Moldovan | 2023-10-09 | 1 | -4/+40 | |
| | | ||||||
| * | tor-keymgr: Add KeyMgr::generate_with_derived for generating keypairs. | Gabriela Moldovan | 2023-10-09 | 1 | -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 Moldovan | 2023-10-09 | 3 | -51/+52 | |
| | | | | | | | `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: Implement ArtiNativeKeystore::insert for public keys. | Gabriela Moldovan | 2023-10-03 | 1 | -3/+7 | |
| | | ||||||
| * | tor-hsservice: Add more key roles. | Gabriela Moldovan | 2023-10-03 | 1 | -2/+26 | |
| | | | | | | | This adds a couple of new `HsSvcKeyRoles` for: * `KS_hs_id` keypairs * `KP_hs_blind_id` public keys keys | |||||
| * | Remove semver.md files now that 1.1.9 is out. | Nick Mathewson | 2023-10-02 | 1 | -6/+0 | |
| | | ||||||
| * | Minor-version bumps, for crates with breaking changes. | Nick Mathewson | 2023-10-02 | 1 | -1/+1 | |
| | | ||||||
| * | Patchlevel bumps, with dependents affected. | Nick Mathewson | 2023-10-02 | 1 | -3/+3 | |
| | | ||||||
| * | Merge branch 'keymgr-blinded-keys' into 'main' | gabi-250 | 2023-09-26 | 6 | -27/+179 | |
| |\ | | | | | | | | | tor-keymgr: Support storing `ed25519::ExpandedKeypair`s in the keystore See merge request tpo/core/arti!1619 | |||||
| | * | tor-keymgr: Fix clippy warning (fmt). | Gabriela Moldovan | 2023-09-26 | 1 | -4/+1 | |
| | | | ||||||
| | * | tor-keymgr: Fix clippy warning. | Gabriela Moldovan | 2023-09-26 | 1 | -1/+1 | |
| | | | ||||||
| | * | tor-keymgr: Add a TODO regarding parsing errors. | Gabriela Moldovan | 2023-09-26 | 1 | -0/+3 | |
| | | | ||||||
| | * | tor-keymgr: Test expanded expanded-ed25519 SSH key parsing. | Gabriela Moldovan | 2023-09-26 | 4 | -0/+47 | |
| | | | ||||||
| | * | tor-keymgr: Extend parse_openssh! to support expanded ed25519 keypairs. | Gabriela Moldovan | 2023-09-26 | 1 | -5/+46 | |
| | | | ||||||
| | * | tor-keymgr: Implement EncodableKey for ExpandedKeypair. | Gabriela Moldovan | 2023-09-26 | 3 | -6/+44 | |
| | | | ||||||
| | * | tor-keymgr: Assign a custom algorithm name for expanded ed25519 keys. | Gabriela Moldovan | 2023-09-26 | 1 | -16/+42 | |
| | | | | | | | | | | | | | | | We need to be able to store `HsBlindIdKeypair`s in the keystore, and since blinded keys are expanded e25519 keypairs which don't have a "standard" OpenSSH key encoding, we define a custom `[email protected]` SSH key type for this purpose. | |||||
| * | | tor-keymgr: Add TODO about key file extensions. | Gabriela Moldovan | 2023-09-26 | 1 | -0/+9 | |
| | | | ||||||
| * | | tor-keymgr: Make SshKeyData accessors more idiomatic. | Gabriela Moldovan | 2023-09-26 | 2 | -9/+11 | |
| | | | ||||||
| * | | tor-keymgr: Fix broken doc link. | Gabriela Moldovan | 2023-09-26 | 1 | -1/+1 | |
| | | | ||||||
| * | | tor-keymgr: Make SshKeyData non-exhaustive. | Gabriela Moldovan | 2023-09-26 | 1 | -1/+1 | |
| | | | | | | | | | | | We will need to add another variant to this when we add support for certificates. | |||||
| * | | tor-keymgr: Derive Clone, Debug for SshKeyData. | Gabriela Moldovan | 2023-09-26 | 1 | -1/+1 | |
| |/ | ||||||
| * | tor-keymgr: Rename as_ssh_keypair_data to as_ssh_key_data. | Gabriela Moldovan | 2023-09-26 | 3 | -8/+8 | |
| | | | | | | This function no longer returns `KeypairData` (it now returns `SshKeyData`). | |||||
| * | tor-keymgr: Add tests for OpenSSH public key parsing. | Gabriela Moldovan | 2023-09-26 | 5 | -0/+30 | |
| | | ||||||
| * | tor-keymgr: Use a macro to make the tests less repetitive. | Gabriela Moldovan | 2023-09-26 | 1 | -33/+45 | |
| | | ||||||
| * | tor-keymgr: Add TODO about rethinking KeyType. | Gabriela Moldovan | 2023-09-26 | 1 | -0/+8 | |
| | | ||||||
| * | tor-keymgr: Make parse_ssh_format_erased handle public keys too (fmt). | Gabriela Moldovan | 2023-09-26 | 1 | -8/+15 | |
| | | ||||||
| * | tor-keymgr: Make parse_ssh_format_erased handle public keys too. | Gabriela Moldovan | 2023-09-26 | 1 | -57/+5 | |
| | | | | | | This rewrites `KeyType::parse_ssh_format_erased` to use the new `parse_openssh!` macro. | |||||
| * | tor-keymgr: Add helpers for parsing OpenSSH public and private keys. | Gabriela Moldovan | 2023-09-26 | 1 | -0/+103 | |
| | | | | | | | | | | `KeyType::parse_ssh_format_erased` currently only handles private keys. The code for parsing public keys is very similar, so we introduce a macro to avoid code duplication. Note: the macro is currently unused (it will be used in a future commit). | |||||
| * | tor-keymgr: Implement ToEncodableKey for HsIdKey. | Gabriela Moldovan | 2023-09-25 | 1 | -3/+3 | |
| | | ||||||
| * | tor-keymgr: Implement EncodableKey for ed25519 public keys. | Gabriela Moldovan | 2023-09-25 | 1 | -3/+5 | |
| | | ||||||
| * | tor-keymgr: Implement EncodableKey for x25519 public keys. | Gabriela Moldovan | 2023-09-25 | 1 | -0/+26 | |
| | | ||||||
| * | tor-keymgr: Add KeyType variants for public keys. | Gabriela Moldovan | 2023-09-25 | 2 | -4/+15 | |
| | | ||||||
| * | tor-keymgr: Make EncodableKey support public keys too. | Gabriela Moldovan | 2023-09-25 | 4 | -22/+61 | |
| | | | | | | | | | | 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. | |||||
