23 lines
850 B
Rust
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()));
|
|
}
|