feat: update yubikey-rs-demo

This commit is contained in:
2023-03-12 20:06:10 +08:00
parent 12e24652b7
commit f7b23d0943
3 changed files with 24 additions and 8 deletions

View File

@@ -1,4 +1,4 @@
use p256::{ecdh::EphemeralSecret, EncodedPoint, PublicKey};
use p256::{ecdh::EphemeralSecret, PublicKey};
use p256::elliptic_curve::sec1::{FromEncodedPoint, ToEncodedPoint};
use rand::rngs::OsRng;
use rust_util::{failure_and_exit, information, warning, XResult};
@@ -51,11 +51,16 @@ fn main() -> XResult<()> {
let epk = esk.public_key();
let epk_bytes = EphemeralKeyBytes::from_public_key(&epk);
let encoded_point = EncodedPoint::from_bytes(&hex::decode(
"04dd3eebd906c9cf00b08ec29f7ed61804d1cc1d1352d9257b628191e08fc3717c4fae3298cd5c4829cec8bf3a946e7db60b7857e1287f6a0bae6b3f2342f007d0"
)?)?;
let public_key_pem = r#"-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3T7r2QbJzwCwjsKfftYYBNHMHRNS
2SV7YoGR4I/DcXxPrjKYzVxIKc7IvzqUbn22C3hX4Sh/aguuaz8jQvAH0A==
-----END PUBLIC KEY-----"#;
let public_key = public_key_pem.parse::<PublicKey>().unwrap();
let public_key = PublicKey::from_encoded_point(&encoded_point).unwrap();
// let encoded_point = p256::EncodedPoint::from_bytes(&hex::decode(
// "04dd3eebd906c9cf00b08ec29f7ed61804d1cc1d1352d9257b628191e08fc3717c4fae3298cd5c4829cec8bf3a946e7db60b7857e1287f6a0bae6b3f2342f007d0"
// )?)?;
// let public_key = PublicKey::from_encoded_point(&encoded_point).unwrap();
let shared_secret = esk.diffie_hellman(&public_key);
information!("Shared secret: {}", hex::encode(shared_secret.raw_secret_bytes()));