key: make 'default' master key explicit
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
parent
777690a121
commit
05f17d1ec4
|
@ -896,7 +896,7 @@ async fn create_backup(
|
|||
|
||||
let crypt_config = CryptConfig::new(key)?;
|
||||
|
||||
match key::find_master_pubkey()? {
|
||||
match key::find_default_master_pubkey()? {
|
||||
Some(ref path) if path.exists() => {
|
||||
let pem_data = file_get_contents(path)?;
|
||||
let rsa = openssl::rsa::Rsa::public_key_from_pem(&pem_data)?;
|
||||
|
|
|
@ -34,14 +34,14 @@ use proxmox_backup::{
|
|||
};
|
||||
|
||||
pub const DEFAULT_ENCRYPTION_KEY_FILE_NAME: &str = "encryption-key.json";
|
||||
pub const MASTER_PUBKEY_FILE_NAME: &str = "master-public.pem";
|
||||
pub const DEFAULT_MASTER_PUBKEY_FILE_NAME: &str = "master-public.pem";
|
||||
|
||||
pub fn find_master_pubkey() -> Result<Option<PathBuf>, Error> {
|
||||
super::find_xdg_file(MASTER_PUBKEY_FILE_NAME, "main public key file")
|
||||
pub fn find_default_master_pubkey() -> Result<Option<PathBuf>, Error> {
|
||||
super::find_xdg_file(DEFAULT_MASTER_PUBKEY_FILE_NAME, "default master public key file")
|
||||
}
|
||||
|
||||
pub fn place_master_pubkey() -> Result<PathBuf, Error> {
|
||||
super::place_xdg_file(MASTER_PUBKEY_FILE_NAME, "main public key file")
|
||||
pub fn place_default_master_pubkey() -> Result<PathBuf, Error> {
|
||||
super::place_xdg_file(DEFAULT_MASTER_PUBKEY_FILE_NAME, "default master public key file")
|
||||
}
|
||||
|
||||
pub fn find_default_encryption_key() -> Result<Option<PathBuf>, Error> {
|
||||
|
@ -360,6 +360,9 @@ fn show_key(path: Option<String>, param: Value) -> Result<(), Error> {
|
|||
)]
|
||||
/// Import an RSA public key used to put an encrypted version of the symmetric backup encryption
|
||||
/// key onto the backup server along with each backup.
|
||||
///
|
||||
/// The imported key will be used as default master key for future invocations by the same local
|
||||
/// user.
|
||||
fn import_master_pubkey(path: String) -> Result<(), Error> {
|
||||
let pem_data = file_get_contents(&path)?;
|
||||
|
||||
|
@ -367,7 +370,7 @@ fn import_master_pubkey(path: String) -> Result<(), Error> {
|
|||
bail!("Unable to decode PEM data - {}", err);
|
||||
}
|
||||
|
||||
let target_path = place_master_pubkey()?;
|
||||
let target_path = place_default_master_pubkey()?;
|
||||
|
||||
replace_file(&target_path, &pem_data, CreateOptions::new())?;
|
||||
|
||||
|
|
Loading…
Reference in New Issue