#![allow(missing_docs)] use std::env::args; use pv::misc::{read_certs, read_file}; use pv::request::EcPubKeyCoord; use pv::{Error, Result}; use pv_core::misc::encode_hex; use s390_pv as pv; 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(()) }