From c0ca4acb8522662314575d9d15dda603eefeb418 Mon Sep 17 00:00:00 2001 From: TommyLike Date: Tue, 1 Aug 2023 20:49:15 +0800 Subject: [PATCH] Enable datakey in default for private key --- src/client/cmd/add.rs | 2 +- src/presentation/handler/control/datakey_handler.rs | 4 +--- .../handler/control/model/datakey/dto.rs | 12 ++++++++++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/client/cmd/add.rs b/src/client/cmd/add.rs index 7a800f2..a5bb68a 100644 --- a/src/client/cmd/add.rs +++ b/src/client/cmd/add.rs @@ -110,7 +110,7 @@ impl CommandAddHandler { continue } if let Some(extension) = en.path().extension() { - if self.file_candidates(extension.to_str().unwrap())? { + if self.file_candidates(extension.to_str().unwrap()).is_ok() { container.push( sign_identity::SignIdentity::new( self.file_type.clone(), diff --git a/src/presentation/handler/control/datakey_handler.rs b/src/presentation/handler/control/datakey_handler.rs index 9e3298b..83a6a7c 100644 --- a/src/presentation/handler/control/datakey_handler.rs +++ b/src/presentation/handler/control/datakey_handler.rs @@ -32,7 +32,7 @@ use super::model::user::dto::UserIdentity; /// /// This will generate either a private/public pgp key pairs or a x509 private/public/cert keys. /// ## Naming convention -/// The name of the key should be unique. +/// The name of the key should be unique and ":" is not allowed in the name. /// ## Generate pgp key /// To generate a pgp key the required parameters in `attributes` are: /// 1. **digest_algorithm**: the digest algorithm used for pgp, for example: sha2_256 @@ -54,7 +54,6 @@ use super::model::user::dto::UserIdentity; /// "email": "test@openeuler.org", /// "passphrase": "password" /// }, -/// "create_at": "2023-04-12 22:10:57+08:00", /// "expire_at": "2024-05-12 22:10:57+08:00" /// } /// ``` @@ -95,7 +94,6 @@ use super::model::user::dto::UserIdentity; /// "province_name": "province_name", /// "country_name": "country_name" /// }, -/// "create_at": "2023-04-12 22:10:57+08:00", /// "expire_at": "2024-05-12 22:10:57+08:00" /// } /// ``` diff --git a/src/presentation/handler/control/model/datakey/dto.rs b/src/presentation/handler/control/model/datakey/dto.rs index 94c2f6c..0e90d95 100644 --- a/src/presentation/handler/control/model/datakey/dto.rs +++ b/src/presentation/handler/control/model/datakey/dto.rs @@ -214,6 +214,10 @@ impl DataKey { combined_attributes.insert("create_at".to_string(), now.clone().to_string()); let visibility = Visibility::from_parameter(dto.visibility)?; let key_name = get_datakey_full_name(&dto.name, &identity.email, &visibility); + let mut key_state = KeyState::Disabled; + if visibility == Visibility::Private { + key_state = KeyState::Enabled; + } Ok(DataKey { id: 0, name: key_name, @@ -230,7 +234,7 @@ impl DataKey { certificate: dto.certificate.into_bytes(), create_at: now, expire_at: now, - key_state: KeyState::default(), + key_state, user_email: None, request_delete_users: None, request_revoke_users: None, @@ -246,6 +250,10 @@ impl DataKey { combined_attributes.insert("expire_at".to_string(), dto.expire_at.clone()); let visibility = Visibility::from_parameter(dto.visibility)?; let key_name = get_datakey_full_name(&dto.name, &identity.email, &visibility); + let mut key_state = KeyState::Disabled; + if visibility == Visibility::Private { + key_state = KeyState::Enabled; + } Ok(DataKey { id: 0, name: key_name, @@ -262,7 +270,7 @@ impl DataKey { certificate: vec![], create_at: now, expire_at: dto.expire_at.parse()?, - key_state: KeyState::default(), + key_state, user_email: None, request_delete_users: None, request_revoke_users: None, -- Gitee