feat: sign data
This commit is contained in:
7
__hid/yubikey_rs/Cargo.lock
generated
7
__hid/yubikey_rs/Cargo.lock
generated
@@ -266,6 +266,12 @@ dependencies = [
|
|||||||
"subtle",
|
"subtle",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "hex"
|
||||||
|
version = "0.4.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "hmac"
|
name = "hmac"
|
||||||
version = "0.11.0"
|
version = "0.11.0"
|
||||||
@@ -912,6 +918,7 @@ dependencies = [
|
|||||||
name = "yubikey_rs"
|
name = "yubikey_rs"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"hex",
|
||||||
"yubikey",
|
"yubikey",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -6,5 +6,6 @@ edition = "2018"
|
|||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
hex = "0.4.3"
|
||||||
yubikey = "0.4.2"
|
yubikey = "0.4.2"
|
||||||
|
#yubikey-piv = {version = "0.3.0", features = ["untested"]}
|
||||||
|
|||||||
@@ -1,16 +1,22 @@
|
|||||||
use yubikey::YubiKey;
|
use yubikey::YubiKey;
|
||||||
|
use yubikey::piv::{AlgorithmId, SlotId};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let mut yubikey = YubiKey::open().unwrap();
|
let mut yk = YubiKey::open().unwrap();
|
||||||
println!("serial: {}", yubikey.serial());
|
println!("serial: {}", yk.serial());
|
||||||
println!("version: {}", yubikey.version());
|
println!("version: {}", yk.version());
|
||||||
println!("name: {}", yubikey.name());
|
println!("name: {}", yk.name());
|
||||||
println!("chuid: {:?}", yubikey.chuid());
|
println!("chuid: {:?}", yk.chuid());
|
||||||
println!("cccid: {:?}", yubikey.cccid());
|
println!("cccid: {:?}", yk.cccid());
|
||||||
println!("config: {:?}", yubikey.config());
|
println!("config: {:?}", yk.config());
|
||||||
let keys = yubikey.piv_keys().unwrap();
|
// let keys = yubikey.piv_keys().unwrap();
|
||||||
for k in keys {
|
// for k in keys {
|
||||||
println!("piv: {:?}", k);
|
// println!("piv: {:?}", k);
|
||||||
}
|
// }
|
||||||
println!("{:?}", yubikey.verify_pin(b"123456"));
|
println!("{:?}", yk.verify_pin(b"123456"));
|
||||||
|
let raw_in = [1_u8; 256];
|
||||||
|
// let raw_in = hex::decode("c25cebe2b6ad6e3e2d9494f707666a711a2f347a02c5bf95d686703dfdd9743d").unwrap();
|
||||||
|
let s = yubikey::piv::sign_data(&mut yk, &raw_in, AlgorithmId::Rsa2048, SlotId::Signature);
|
||||||
|
println!("{:?}", s);
|
||||||
|
println!("{:?}", hex::encode(s.unwrap().as_slice()));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user