summaryrefslogtreecommitdiff
path: root/crates/tor-keymgr
Commit message (Collapse)AuthorAgeFilesLines
...
* | keymgr: Remove outdated TODO.Gabriela Moldovan2023-06-211-8/+0
|/ | | | | This TODO describes something we're not planning to implement, so let's just remove it.
* keymgr: Fix clippy lints.Gabriela Moldovan2023-06-202-3/+3
|
* keymgr: Address clippy lints and run cargo fmt.Gabriela Moldovan2023-06-201-1/+6
|
* keymgr: Enforce keystore_dir properties for every key read/written from the ↵Gabriela Moldovan2023-06-201-16/+19
| | | | keystore.
* keymgr: Update function names and docs to reflect reality.Gabriela Moldovan2023-06-203-9/+9
| | | | | | The functions that handle OpenSSH-formatted keys now no longer read or write from disk. This commit updates their names and doc strings to stop suggesting they do.
* keymgr: Move FS operations out of ssh.rsGabriela Moldovan2023-06-203-17/+42
| | | | | | | This moves the filesystem calls from the `ssh` module to `ArtiNativeKeyStore`. While `ArtiNativeKeyStore` shouldn't be concerning itself with filesystem operations either, that refactoring will be tackled separately (see arti#899).
* keymgr: Create a temporary error type for the key types we don't support yet.Gabriela Moldovan2023-06-202-1/+9
|
* keymgr: Create a separate error source for key corruption errors.Gabriela Moldovan2023-06-202-37/+41
|
* Merge branch 'update-keymgr-todo' into 'main'Alexander Færøy2023-06-203-3/+4
|\ | | | | | | | | keymgr: Change "TODO hs" to "TODO HSS". See merge request tpo/core/arti!1264
| * keymgr: Defer key bundle support until "Basic Service" milestone.Gabriela Moldovan2023-06-202-2/+3
| | | | | | | | We don't really need "key bundles" for the client keys.
| * keymgr: Change "TODO hs" to "TODO HSS".Gabriela Moldovan2023-06-201-1/+1
| | | | | | | | | | We probably don't need to support passphrases for the "Basic Client" milestone, so let's update this TODO accordingly.
* | keymgr: Fix broken docs.Gabriela Moldovan2023-06-201-1/+1
| |
* | arti-client, keymgr: Introduce Mistrust settings and enforce FS permissions.Gabriela Moldovan2023-06-201-5/+35
| |
* | keymgr: Add TODO about separation of concerns wrt FS operations.Gabriela Moldovan2023-06-201-0/+8
| |
* | keymgr: Add an error variant for fs_mistrust errors.Gabriela Moldovan2023-06-202-0/+14
| | | | | | | | | | This will be useful later, when `KeyMgr` will start validating permissions and paths.
* | keymgr: Add a FsErrorSource to Error::Fs.Gabriela Moldovan2023-06-201-1/+21
|/ | | | | | In the future, the potential causes of an `Error::Filesystem` error will include permission errors as well as other errors (not just `io::Error`s).
* keymgr: Add Diziet's notes about storing public keys in the key store.Gabriela Moldovan2023-06-151-0/+36
|
* keymgr, arti-client: KeyMgr should return Ok(None) if the key is not found.Gabriela Moldovan2023-06-151-4/+4
| | | | | | | This simplifies usage quite a bit and will enable us to implement a dummy `KeyMgr` that doesn't depend on the error types from tor-keymgr (which will replace the "real" `KeyMgr` if the keymgr feature is disabled).
* keymgr: Add TODO regarding KeyStore rename.Gabriela Moldovan2023-06-151-0/+4
|
* keymgr: Add TODO about KeyType refactorings.Gabriela Moldovan2023-06-151-0/+3
|
* keymgr: Add the key type to the `arti_extension`.Gabriela Moldovan2023-06-151-1/+2
|
* keymgr: Add TODO regarding some error refactorings.Gabriela Moldovan2023-06-151-0/+14
|
* keymgr: Move the HS client and service key specifiers out of tor-keymgr.Gabriela Moldovan2023-06-153-115/+0
| | | | | | The HS `HsClientSpecifier` and `HsClientSecretKeySpecifier` are moved to `tor-hsclient`. The HS service secret key specifier stubs are moved to `tor-hsservice`.
* keymgr: Expand the TODOs regarding HS service key specifiers.Gabriela Moldovan2023-06-151-3/+18
| | | | Signed-off-by: Gabriela Moldovan <[email protected]>
* keymgr: Expand HsClientSpecifier docs, add TODO about refactoring.Gabriela Moldovan2023-06-151-0/+7
| | | | Signed-off-by: Gabriela Moldovan <[email protected]>
* keymgr: Introduce ToEncodableKey to simplify lookups.Gabriela Moldovan2023-06-153-13/+51
| | | | | | | This means `KeyMgr` users don't need to specify the underlying key type (e.g. `ed25519::Keypair`) when retrieving keys. Instead, they can just specify the type required (as long as it implements `ToEncodableKey`), e.g. `HsClientIntroAuthKeypair`.
* arti-client: Make the client use the KeyMgr.Gabriela Moldovan2023-06-151-0/+6
| | | | | `TorClient` now uses a `KeyMgr` to retrieve the `HsClientSecretKeys` client auth keys passed to `get_or_launch_connection`.
* keymgr: Add key manager implementation stub.Gabriela Moldovan2023-06-152-0/+114
|
* keymgr: Implement `SshKeyType::read_ssh_format_erased` for `KeyType`.Gabriela Moldovan2023-06-151-4/+49
| | | | | | | | | | | This adds a proof-of-concept `SshKeyType::read_ssh_format_erased` implementation for `KeyType`. The implementation decodes an OpenSSH key and converts it to one of the key types used internally by Arti. The value returned is type-erased, and will be downscast later down the line by the `KeyMgr` (note: `KeyMgr` doesn't exist yet). The `SshKeyType::write_ssh_format` will be implemented once these APIs are a bit more stable.
* keymgr: Add ArtiNativeKeyStore implementation skeleton.Gabriela Moldovan2023-06-1510-0/+558
This adds implementation stubs for `ArtiNativeKeyStore`, and introduces the traits needed to make the `KeyStore` APIs work.