diff --git a/cert_tools/src/main.rs b/cert_tools/src/main.rs index 546e303..dbce247 100644 --- a/cert_tools/src/main.rs +++ b/cert_tools/src/main.rs @@ -1,6 +1,6 @@ use clap::{Parser, Subcommand}; use generate_key::{generate_key_file, GenerateKeyOptions}; -use power_equal::PowerEqualResultOption; +use power_equal::{calculate_equal_result, PowerEqualResultOption}; mod generate_key; mod power_equal; @@ -28,8 +28,6 @@ fn main() { let args = Cli::parse(); match args.command { Commands::Generate(options) => generate_key_file(options), - Commands::CalcEqual(_options) => { - println!("Calculating the equal result for power plugin"); - } + Commands::CalcEqual(options) => calculate_equal_result(options), } } diff --git a/cert_tools/src/power_equal.rs b/cert_tools/src/power_equal.rs index 6b1d575..82c7579 100644 --- a/cert_tools/src/power_equal.rs +++ b/cert_tools/src/power_equal.rs @@ -7,3 +7,10 @@ pub struct PowerEqualResultOption { #[arg(help = "Certificate file")] key_file: PathBuf, } + +pub fn calculate_equal_result(options: PowerEqualResultOption) { + let cert = cert_lib::load_certificate(options.key_file).expect("load certificate failed"); + let result = + cert_lib::calculate_power_euqal_result(cert).expect("calculate equal result failed"); + println!("{}", result); +}