#![allow(missing_docs)]
use wolfcose::{Algorithm, CoseKeyBuilder, CoseKeyView, SymmetricKey};
fn main() -> wolfcose::Result<()> {
let key = SymmetricKey::new([0x44u8; 32])
.with_algorithm(Algorithm::A256GCM)
.with_kid(b"fleet-a")
.into_cose_key()?;
let view = CoseKeyView::from_key(&key);
println!(
"kty={} alg={} kid={} symmetric_len={:?}",
view.key_type.id(),
view.algorithm.id(),
String::from_utf8_lossy(&view.kid),
view.symmetric_len
);
let direct = CoseKeyBuilder::symmetric([0x55u8; 32])
.algorithm(Algorithm::HMAC256)
.build()?;
println!(
"direct symmetric len={:?}",
CoseKeyView::from_key(&direct).symmetric_len
);
Ok(())
}