From 70ad2df11a9660bd7fc46b4dce5163e65c944daa Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Sun, 23 Mar 2025 23:08:15 +0800 Subject: [PATCH] feat: add examples --- examples/private_ecdsa_sign.rs | 13 +++++++++++++ examples/recover_ecdh.rs | 13 +++++++++++-- examples/recover_ecdsa.rs | 13 +++++++++++-- 3 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 examples/private_ecdsa_sign.rs diff --git a/examples/private_ecdsa_sign.rs b/examples/private_ecdsa_sign.rs new file mode 100644 index 0000000..e09d7a2 --- /dev/null +++ b/examples/private_ecdsa_sign.rs @@ -0,0 +1,13 @@ +use base64::Engine; +use swift_secure_enclave_tool_rs::private_key_ecdsa_sign; + +fn main() { + let args = std::env::args().collect::>(); + let private_key_representation = base64::engine::general_purpose::STANDARD + .decode(&args[1]) + .unwrap(); + + let signature = private_key_ecdsa_sign(&private_key_representation, b"hello world").unwrap(); + + println!("{}", hex::encode(&signature)); +} diff --git a/examples/recover_ecdh.rs b/examples/recover_ecdh.rs index 8a55e80..0d98ed5 100644 --- a/examples/recover_ecdh.rs +++ b/examples/recover_ecdh.rs @@ -1,3 +1,12 @@ +use base64::Engine; +use swift_secure_enclave_tool_rs::{recover_ecdsa_keypair, KeyPurpose}; + fn main() { - -} \ No newline at end of file + let args = std::env::args().collect::>(); + let private_key_representation = base64::engine::general_purpose::STANDARD + .decode(&args[1]) + .unwrap(); + let key_material = + recover_ecdsa_keypair(KeyPurpose::KeyAgreement, &private_key_representation).unwrap(); + println!("{:?}", key_material) +} diff --git a/examples/recover_ecdsa.rs b/examples/recover_ecdsa.rs index 8a55e80..26b3611 100644 --- a/examples/recover_ecdsa.rs +++ b/examples/recover_ecdsa.rs @@ -1,3 +1,12 @@ +use base64::Engine; +use swift_secure_enclave_tool_rs::{recover_ecdsa_keypair, KeyPurpose}; + fn main() { - -} \ No newline at end of file + let args = std::env::args().collect::>(); + let private_key_representation = base64::engine::general_purpose::STANDARD + .decode(&args[1]) + .unwrap(); + let key_material = + recover_ecdsa_keypair(KeyPurpose::Signing, &private_key_representation).unwrap(); + println!("{:?}", key_material) +}