feat: update yubikey-rs-demo
This commit is contained in:
15
__crypto/yubikey-rs-demo/Cargo.lock
generated
15
__crypto/yubikey-rs-demo/Cargo.lock
generated
@@ -272,7 +272,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f1a467a65c5e759bce6e65eaf91cc29f466cdc57cb65777bd646872a8a1fd4de"
|
||||
dependencies = [
|
||||
"const-oid",
|
||||
"pem-rfc7468",
|
||||
"pem-rfc7468 0.6.0",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
@@ -283,6 +283,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bc906908ea6458456e5eaa160a9c08543ec3d1e6f71e2235cedd660cb65f9df0"
|
||||
dependencies = [
|
||||
"const-oid",
|
||||
"pem-rfc7468 0.7.0",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
@@ -391,7 +392,7 @@ dependencies = [
|
||||
"generic-array",
|
||||
"group 0.12.1",
|
||||
"hkdf",
|
||||
"pem-rfc7468",
|
||||
"pem-rfc7468 0.6.0",
|
||||
"pkcs8 0.9.0",
|
||||
"rand_core",
|
||||
"sec1 0.3.0",
|
||||
@@ -412,6 +413,7 @@ dependencies = [
|
||||
"generic-array",
|
||||
"group 0.13.0",
|
||||
"hkdf",
|
||||
"pem-rfc7468 0.7.0",
|
||||
"pkcs8 0.10.1",
|
||||
"rand_core",
|
||||
"sec1 0.7.1",
|
||||
@@ -762,6 +764,15 @@ dependencies = [
|
||||
"base64ct",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pem-rfc7468"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "88b39c9bfcfc231068454382784bb460aae594343fb030d46e9f50a645418412"
|
||||
dependencies = [
|
||||
"base64ct",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "pkcs1"
|
||||
version = "0.4.1"
|
||||
|
||||
@@ -8,7 +8,7 @@ edition = "2021"
|
||||
[dependencies]
|
||||
elliptic-curve = { version = "0.13.2", features = ["sec1"] }
|
||||
hex = "0.4.3"
|
||||
p256 = { version = "0.13.0", features = ["ecdh"] }
|
||||
p256 = { version = "0.13.0", features = ["ecdh", "pem"] }
|
||||
rand = "0.8.5"
|
||||
rust_util = "0.6.41"
|
||||
sha2 = "0.10.6"
|
||||
|
||||
@@ -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()));
|
||||
|
||||
Reference in New Issue
Block a user