wolfcose 0.1.0

Safe Rust API for wolfSSL wolfCOSE.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#![allow(missing_docs)]

use wolfcose::{CoseKeyBuilder, Mac0Builder, PayloadMode};

fn main() -> wolfcose::Result<()> {
    let key = CoseKeyBuilder::symmetric([0x33u8; 32])
        .algorithm(wolfcose::Algorithm::HMAC256)
        .kid(b"kid-1")
        .build()?;
    let msg = Mac0Builder::new()
        .key(&key)
        .algorithm(wolfcose::Algorithm::HMAC256)
        .kid(b"kid-1")
        .payload(PayloadMode::Attached(b"hello wolfCOSE"))
        .mac_to_vec()?;
    println!("COSE_Mac0 bytes={}", msg.len());
    Ok(())
}