feat: v1.1.2, support readonly for secure editor
This commit is contained in:
@@ -31,7 +31,7 @@ use crate::spec::{EncEncryptedMeta, TinyEncryptEnvelop, TinyEncryptEnvelopType,
|
|||||||
use crate::util::SecVec;
|
use crate::util::SecVec;
|
||||||
use crate::util_digest::DigestWrite;
|
use crate::util_digest::DigestWrite;
|
||||||
#[cfg(feature = "macos")]
|
#[cfg(feature = "macos")]
|
||||||
use crate::util_keychainpasskey;
|
use crate::util_keychainstatic;
|
||||||
use crate::util_progress::Progress;
|
use crate::util_progress::Progress;
|
||||||
use crate::wrap_key::WrapKey;
|
use crate::wrap_key::WrapKey;
|
||||||
|
|
||||||
@@ -523,7 +523,7 @@ fn try_decrypt_key_ecdh_static_x25519(config: &Option<TinyEncryptConfig>, envelo
|
|||||||
let service_name = &config_envelop_args[1];
|
let service_name = &config_envelop_args[1];
|
||||||
let key_name = &config_envelop_args[2];
|
let key_name = &config_envelop_args[2];
|
||||||
let shared_secret = opt_result!(
|
let shared_secret = opt_result!(
|
||||||
util_keychainpasskey::decrypt_data(service_name, key_name, &e_pub_key_bytes), "Decrypt static x25519 failed: {}");
|
util_keychainstatic::decrypt_data(service_name, key_name, &e_pub_key_bytes), "Decrypt static x25519 failed: {}");
|
||||||
|
|
||||||
let key = util::simple_kdf(shared_secret.as_slice());
|
let key = util::simple_kdf(shared_secret.as_slice());
|
||||||
let key_nonce = KeyNonce { k: &key, n: &wrap_key.nonce };
|
let key_nonce = KeyNonce { k: &key, n: &wrap_key.nonce };
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ use security_framework::os::macos::keychain::SecKeychain;
|
|||||||
|
|
||||||
use crate::config::TinyEncryptConfigEnvelop;
|
use crate::config::TinyEncryptConfigEnvelop;
|
||||||
use crate::spec::TinyEncryptEnvelopType;
|
use crate::spec::TinyEncryptEnvelopType;
|
||||||
use crate::util_keychainpasskey;
|
use crate::util_keychainstatic;
|
||||||
|
|
||||||
#[derive(Debug, Args)]
|
#[derive(Debug, Args)]
|
||||||
pub struct CmdKeychainKey {
|
pub struct CmdKeychainKey {
|
||||||
@@ -29,7 +29,7 @@ pub fn keychain_key(cmd_keychain_key: CmdKeychainKey) -> XResult<()> {
|
|||||||
return simple_error!("Static x25519 exists: {}.{}", service_name, &cmd_keychain_key.key_name);
|
return simple_error!("Static x25519 exists: {}.{}", service_name, &cmd_keychain_key.key_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
let (keychain_key, public_key) = util_keychainpasskey::generate_pass_x25519_static_secret();
|
let (keychain_key, public_key) = util_keychainstatic::generate_pass_x25519_static_secret();
|
||||||
opt_result!(
|
opt_result!(
|
||||||
sec_keychain.set_generic_password(service_name, &cmd_keychain_key.key_name, keychain_key.as_bytes()),
|
sec_keychain.set_generic_password(service_name, &cmd_keychain_key.key_name, keychain_key.as_bytes()),
|
||||||
"Write static x25519 failed: {}"
|
"Write static x25519 failed: {}"
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ mod cmd_directdecrypt;
|
|||||||
#[cfg(feature = "macos")]
|
#[cfg(feature = "macos")]
|
||||||
mod cmd_initkeychainkey;
|
mod cmd_initkeychainkey;
|
||||||
#[cfg(feature = "macos")]
|
#[cfg(feature = "macos")]
|
||||||
mod util_keychainpasskey;
|
mod util_keychainstatic;
|
||||||
#[cfg(feature = "decrypt")]
|
#[cfg(feature = "decrypt")]
|
||||||
mod cmd_execenv;
|
mod cmd_execenv;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user