-
-
Notifications
You must be signed in to change notification settings - Fork 5
CLI Key Management #61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
a88e558 to
f8c1453
Compare
|
This seems to be missing the file for the |
Co-authored-by: Terts Diepraam <[email protected]>
mozzieongit
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know this is still a draft, but here my notes from reading this PR to understand the other PRs:
- Add comments on the subcommands, that say what they do and how to use them
- And a note about what to do after each command? e.g. after init / creating key, mention which command should be called next and when
- Split up big run function into sub functions (obsolete by #108)
- Consistently use
env.in_cwd()vs raw paths (e.g.read_to_string(priv_url.path())) or make clear why not usingenv.in_cwd() - Add tests? I'm sure not all can be tested easily, but maybe some can
- Explain to users which TTL value is expected in the propagation/cache subcommands
- adjust the actions output after each command, to something human-actionable, so the user knows what to do with that information
- Adds KMIP server based key generation, signing and destruction, equivalent to the existing Ring/OpenSSL functionality. - Adds new kmip subcommands for managing KMIP server configurations. - Adds support for referring to KMIP keys by a new KMIP URL scheme. - Add a feature for the KMIP crypto backend just like the Ring and OpenSSL crypto backends. - Adds support for storing sensitive credentials in files separate to the KMIP server configuration.
* Restructure roll commands. * Import public keys. * Import a public/private key pair from files. * Add a default TTL to config. Use that for DNSKEY/CDS/CDNSKEY/DS RRsets. * Cargo.lock. * Support for importing KMIP keys. * Import public/private keys in decoupled state * Add --private-key option to importing a public/private key pair from files. * Add remove-key command.
* Verbose status output. * Add TODO list. * Get rid of .map_err::<Error, _>. Just .map_err is fine if the .into() is removed.
| domain_name, | ||
| keyset_state, | ||
| } = self.cmd | ||
| { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it'd be nice to split this function up a bit i.e. extract all the subcommands to separate functions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. I want to introduce a struct State. Then I can see if those can be operations on State.
| Self::Notify(notify) => notify.execute(env), | ||
| Self::SignZone(signzone) => signzone.execute(env), | ||
| Self::Update(update) => update.execute(env), | ||
| // Self::Help(help) => help.execute(env), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit but I think this stems from a conflict.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I know, help was disabled by Jannik until the help command can render man pages.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I see, in commit 6915b81:
- // Self::Help(help) => help.execute(env),
+ Self::LdnsUpdate(ldnsupdate) => ldnsupdate.execute(env),
That was just too confusing.
Cascade uses this because it can't easily tell whether the keyset state is already initialized, in some cases.
This reverts commit 67b99a1.
Co-authored-by: Ximon Eighteen <[email protected]>
To avoid Cascade installing dnst and uninstalling ldns-utils that Cascade users may want to use such as ldns-verify-zone, which dnst doesn't provide yet. Also because this branch of dnst depends on an as yet unreleased version of the domain crate. Update Cargo.lock bcause cargo-deb complains that it needs updating. Co-authored-by: Jannik Peters <[email protected]>
Co-authored-by: Jannik Peters <[email protected]> Co-authored-by: Philip-NLnetLabs <[email protected]>
Demonstrate key management using a CLI tool. Initial interface between key management and signer.