feat: v1.1.11, piv sign works, add piv generate
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
use std::fs::File;
|
||||
|
||||
use clap::{App, Arg, ArgMatches, SubCommand};
|
||||
use openssl::bn::{BigNum, BigNumContext};
|
||||
use openssl::hash::MessageDigest;
|
||||
use openssl::pkey::PKey;
|
||||
use openssl::rsa::Rsa;
|
||||
use openssl::sign::Verifier;
|
||||
use rust_util::util_clap::{Command, CommandError};
|
||||
use rust_util::util_msg::MessageType;
|
||||
use rust_util::XResult;
|
||||
|
||||
use crate::digest::sha256_bytes;
|
||||
@@ -47,6 +49,16 @@ impl Command for CommandImpl {
|
||||
return simple_error!("Signature is required, --signature argument!");
|
||||
};
|
||||
|
||||
rust_util::util_msg::when(MessageType::DEBUG, || {
|
||||
let rsa = keypair.rsa().clone().unwrap();
|
||||
let n = rsa.n();
|
||||
let e = rsa.e();
|
||||
let m = BigNum::from_slice(&signature).unwrap();
|
||||
let mut r = BigNum::new().unwrap();
|
||||
r.mod_exp(&m, &e, &n, &mut BigNumContext::new().unwrap()).unwrap();
|
||||
debugging!("Signature raw HEX: {}", hex::encode(&r.to_vec()));
|
||||
});
|
||||
|
||||
let file_in = opt_value_result!(sub_arg_matches.value_of("in"), "File in --in required");
|
||||
information!("File in: {}", file_in);
|
||||
information!("Public key fingerprint: {}", pub_key_fingerprint);
|
||||
|
||||
Reference in New Issue
Block a user