feat: v1.12.0
This commit is contained in:
@@ -10,6 +10,7 @@ use yubikey::{Key, YubiKey};
|
||||
use yubikey::piv::{AlgorithmId, metadata};
|
||||
|
||||
use crate::{cmdutil, pivutil, util};
|
||||
use crate::keyutil::{KeyUri, YubikeyPivKey};
|
||||
use crate::pivutil::{get_algorithm_id_by_certificate, slot_equals, ToStr};
|
||||
use crate::pkiutil::bytes_to_pem;
|
||||
use crate::sshutil::SshVecWriter;
|
||||
@@ -96,11 +97,18 @@ impl Command for CommandImpl {
|
||||
ssh_public_key.write_string(format!("nistp{}", ec_bit_len).as_bytes());
|
||||
ssh_public_key.write_string(pk_point_hex);
|
||||
let ssh_public_key_str = format!(
|
||||
"ecdsa-sha2-nistp{} {} PIV:{}", ec_bit_len, base64_encode(ssh_public_key), slot_id);
|
||||
"ecdsa-sha2-nistp{} {} Yubikey-PIV-{}", ec_bit_len, base64_encode(ssh_public_key), slot_id);
|
||||
json.insert("ssh_public_key", ssh_public_key_str.to_string());
|
||||
}
|
||||
_ => {}
|
||||
}
|
||||
|
||||
let yubikey_piv_key = YubikeyPivKey {
|
||||
key_name: format!("yubikey{}-{}", yk.version().major, yk.serial().0),
|
||||
algorithm: algorithm_id,
|
||||
slot: slot_id,
|
||||
};
|
||||
json.insert("key_uri", KeyUri::YubikeyPivKey(yubikey_piv_key).to_string());
|
||||
}
|
||||
let serial_lower = cert.serial_number.to_string().to_lowercase();
|
||||
json.insert("serial", if serial_lower.starts_with("00:") { serial_lower.chars().skip(3).collect() } else { serial_lower });
|
||||
|
||||
Reference in New Issue
Block a user