feat: v0.1.3, sign supports --message-type
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "external-command-rs"
|
name = "external-command-rs"
|
||||||
version = "0.1.2"
|
version = "0.1.3"
|
||||||
edition = "2024"
|
edition = "2024"
|
||||||
authors = ["Hatter Jiang"]
|
authors = ["Hatter Jiang"]
|
||||||
repository = "https://git.hatter.ink/hatter/external-command-rs"
|
repository = "https://git.hatter.ink/hatter/external-command-rs"
|
||||||
|
|||||||
14
src/lib.rs
14
src/lib.rs
@@ -102,6 +102,16 @@ pub fn external_sign(
|
|||||||
parameter: &str,
|
parameter: &str,
|
||||||
alg: &str,
|
alg: &str,
|
||||||
content: &[u8],
|
content: &[u8],
|
||||||
|
) -> XResult<Vec<u8>> {
|
||||||
|
external_sign_digested(external_command, parameter, alg, content, "")
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn external_sign_digested(
|
||||||
|
external_command: &str,
|
||||||
|
parameter: &str,
|
||||||
|
alg: &str,
|
||||||
|
content: &[u8],
|
||||||
|
digest_type: &str,
|
||||||
) -> XResult<Vec<u8>> {
|
) -> XResult<Vec<u8>> {
|
||||||
let mut cmd = Command::new(external_command);
|
let mut cmd = Command::new(external_command);
|
||||||
cmd.arg("external_sign");
|
cmd.arg("external_sign");
|
||||||
@@ -111,6 +121,10 @@ pub fn external_sign(
|
|||||||
cmd.arg(alg);
|
cmd.arg(alg);
|
||||||
cmd.arg("--message-base64");
|
cmd.arg("--message-base64");
|
||||||
cmd.arg(STANDARD.encode(content));
|
cmd.arg(STANDARD.encode(content));
|
||||||
|
if !digest_type.is_empty() && digest_type != "raw" {
|
||||||
|
cmd.arg("--message-type");
|
||||||
|
cmd.arg(digest_type);
|
||||||
|
}
|
||||||
|
|
||||||
let cmd_stdout = run_command_stdout(cmd)?;
|
let cmd_stdout = run_command_stdout(cmd)?;
|
||||||
parse_sign_result(&cmd_stdout)
|
parse_sign_result(&cmd_stdout)
|
||||||
|
|||||||
Reference in New Issue
Block a user