pub enum KeySubcommand {
List,
Export {
alias: String,
passphrase: String,
format: ExportFormat,
},
Delete {
alias: String,
},
Import {
alias: String,
seed_file: PathBuf,
controller_did: String,
},
CopyBackend {
alias: String,
dst_backend: String,
dst_file: Option<PathBuf>,
dst_passphrase: Option<String>,
},
}Variants§
List
List aliases of all keys stored in the platform’s secure storage.
Export
Export a stored key in various formats (requires passphrase for some formats).
Fields
format: ExportFormatExport format: pem (OpenSSH private), pub (OpenSSH public), enc (raw encrypted bytes).
Delete
Remove a key from the platform’s secure storage by alias.
Import
Import an Ed25519 key from a 32-byte seed file and store it encrypted.
Fields
CopyBackend
Copy a key from the current keychain backend to a different backend.
Useful for creating a file-based keychain for headless CI environments without exposing the raw key material. The encrypted key bytes are copied as-is; the same passphrase used to store the key in the source backend must be used when loading it from the destination.
Examples:
§Copy to file keychain (passphrase from env var)
AUTHS_PASSPHRASE=“$CI_PASS” auths key copy-backend
–alias ci-release-device –dst-backend file –dst-file /tmp/ci-keychain.enc
§Copy to file keychain (passphrase from flag)
auths key copy-backend –alias ci-release-device
–dst-backend file –dst-file /tmp/ci-keychain.enc –dst-passphrase “$CI_PASS”
Trait Implementations§
Source§impl Clone for KeySubcommand
impl Clone for KeySubcommand
Source§fn clone(&self) -> KeySubcommand
fn clone(&self) -> KeySubcommand
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for KeySubcommand
impl Debug for KeySubcommand
Source§impl FromArgMatches for KeySubcommand
impl FromArgMatches for KeySubcommand
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for KeySubcommand
impl Subcommand for KeySubcommand
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommand