Files
simple-rust-tests/__hid/yubikey_rs/src/main.rs
2021-07-17 12:46:49 +08:00

23 lines
850 B
Rust

use yubikey::YubiKey;
use yubikey::piv::{AlgorithmId, SlotId};
fn main() {
let mut yk = YubiKey::open().unwrap();
println!("serial: {}", yk.serial());
println!("version: {}", yk.version());
println!("name: {}", yk.name());
println!("chuid: {:?}", yk.chuid());
println!("cccid: {:?}", yk.cccid());
println!("config: {:?}", yk.config());
// let keys = yubikey.piv_keys().unwrap();
// for k in keys {
// println!("piv: {:?}", k);
// }
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()));
}