diff --git a/Cargo.toml b/Cargo.toml index 3a0f9d4..932404c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,9 +9,10 @@ repository = "https://git.hatter.ink/hatter/tiny-encrypt-rs" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [features] -default = ["decrypt", "macos"] +default = ["decrypt", "macos", "secure-enclave"] decrypt = ["openpgp-card", "openpgp-card-pcsc", "yubikey"] macos = ["security-framework"] +secure-enclave = [] [dependencies] aes-gcm-stream = "0.2" diff --git a/src/cmd_version.rs b/src/cmd_version.rs index 2aa7789..6d23f78 100644 --- a/src/cmd_version.rs +++ b/src/cmd_version.rs @@ -12,6 +12,8 @@ pub fn version(_cmd_version: CmdVersion) -> XResult<()> { features.push("decrypt"); #[cfg(feature = "macos")] features.push("macos"); + #[cfg(feature = "secure-enclave")] + features.push("secure-enclave"); if features.is_empty() { features.push("-"); } println!( "User-Agent: {} [ with features: {} ]\n{}", diff --git a/src/lib.rs b/src/lib.rs index 36e2636..5f875ba 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -12,20 +12,19 @@ pub use cmd_encrypt::CmdEncrypt; pub use cmd_encrypt::encrypt; pub use cmd_encrypt::encrypt_single; pub use cmd_encrypt::encrypt_single_file_out; -pub use cmd_info::CmdInfo; -pub use cmd_info::info; -pub use cmd_info::info_single; -pub use cmd_version::CmdVersion; -pub use cmd_version::version; -#[cfg(feature = "macos")] -pub use cmd_initkeychainkey::CmdKeychainKey; -#[cfg(feature = "macos")] -pub use cmd_initkeychainkey::keychain_key; #[cfg(feature = "decrypt")] pub use cmd_execenv::CmdExecEnv; #[cfg(feature = "decrypt")] pub use cmd_execenv::exec_env; - +pub use cmd_info::CmdInfo; +pub use cmd_info::info; +pub use cmd_info::info_single; +#[cfg(feature = "macos")] +pub use cmd_initkeychainkey::CmdKeychainKey; +#[cfg(feature = "macos")] +pub use cmd_initkeychainkey::keychain_key; +pub use cmd_version::CmdVersion; +pub use cmd_version::version; mod consts; mod util; @@ -62,4 +61,6 @@ mod cmd_initkeychainkey; mod util_keychainstatic; #[cfg(feature = "decrypt")] mod cmd_execenv; +#[cfg(feature = "secure-enclave")] +mod util_keychainkey; diff --git a/src/util_keychainkey.rs b/src/util_keychainkey.rs new file mode 100644 index 0000000..e69de29