mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
pv/examples: Add example for calculating host-key hashes
Reviewed-by: Jan Höppner <hoeppner@linux.ibm.com> Signed-off-by: Steffen Eiden <seiden@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
committed by
Jan Höppner
parent
ce9c518b97
commit
2739b8a488
28
rust/pv/examples/hash_hkd/main.rs
Normal file
28
rust/pv/examples/hash_hkd/main.rs
Normal file
@@ -0,0 +1,28 @@
|
||||
#![allow(missing_docs)]
|
||||
|
||||
use pv::request::EcPubKeyCoord;
|
||||
use pv_core::misc::encode_hex;
|
||||
use s390_pv as pv;
|
||||
|
||||
use std::env::args;
|
||||
|
||||
use pv::misc::{read_certs, read_file};
|
||||
use pv::{Error, Result};
|
||||
|
||||
fn main() -> Result<()> {
|
||||
let hkd = args().nth(1).expect("Expect one Host-key document");
|
||||
let hkd_bin = read_file(&hkd, "Host-key document")?;
|
||||
let certs = read_certs(hkd_bin).map_err(|source| Error::HkdNotPemOrDer { hkd, source })?;
|
||||
let hkd_cert = certs
|
||||
.first()
|
||||
.expect("Expect at least one certificate in the HKD file");
|
||||
|
||||
let pc: EcPubKeyCoord = hkd_cert
|
||||
.public_key()
|
||||
.expect("Expected a public key in the Host-key document")
|
||||
.try_into()
|
||||
.unwrap();
|
||||
|
||||
println!("{}", encode_hex(pc.sha256().unwrap()));
|
||||
Ok(())
|
||||
}
|
||||
Reference in New Issue
Block a user