feat: add ed25519 verify
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
use std::convert::TryInto;
|
use std::convert::TryInto;
|
||||||
use bech32::{ToBase32, Variant};
|
|
||||||
|
|
||||||
use ed25519_dalek::{Keypair, Signer, Verifier};
|
use bech32::{ToBase32, Variant};
|
||||||
|
use ed25519_dalek::{Keypair, PublicKey as EdPublicKey, Signature, Signer, Verifier};
|
||||||
use rand::rngs::OsRng;
|
use rand::rngs::OsRng;
|
||||||
use x25519_dalek::{EphemeralSecret, PublicKey};
|
use x25519_dalek::{EphemeralSecret, PublicKey};
|
||||||
|
|
||||||
@@ -50,4 +50,15 @@ fn main() {
|
|||||||
println!("New public key: {}", hex::encode(new_public.as_bytes()));
|
println!("New public key: {}", hex::encode(new_public.as_bytes()));
|
||||||
let new_card_shared_secret = new_secret.diffie_hellman(&public_key_card);
|
let new_card_shared_secret = new_secret.diffie_hellman(&public_key_card);
|
||||||
println!("New&card shared secret: {}", hex::encode(new_card_shared_secret.as_bytes()));
|
println!("New&card shared secret: {}", hex::encode(new_card_shared_secret.as_bytes()));
|
||||||
|
|
||||||
|
println!("{}", "-".repeat(88));
|
||||||
|
let public_key_bytes = hex::decode("d57a081448c6d3d6076b1cca0216f319e45cc2ad986541caf0d3d62f5b318263").unwrap();
|
||||||
|
// let public_key_bytes: [u8; 32] = public_key_bytes.try_into().unwrap();
|
||||||
|
let public_key_card = EdPublicKey::from_bytes(&public_key_bytes).unwrap();
|
||||||
|
let message = hex::decode("1dc91001cb69b0dbfab0347d684d7551227484f57a5ac414680414b855051159").unwrap();
|
||||||
|
let signature = hex::decode("4b2355918b92ca8e5490a30775aa4603a76efe344e3eecfd888b10018a5cb86d3d7095c298b34b39c4e1d46841098dd2514101a9eba5b7a271cf9b5c9d078306").unwrap();
|
||||||
|
let signature_bytes: [u8; 64] = signature.try_into().unwrap();
|
||||||
|
let signature = Signature::new(signature_bytes);
|
||||||
|
let verify_result = public_key_card.verify(&message, &signature);
|
||||||
|
println!("Verify result: {:?}", verify_result);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user