1#![warn(rust_2018_idioms, unused_lifetimes, unused_qualifications, clippy::all)]
5#![forbid(unsafe_code, clippy::expect_used, clippy::panic)]
6
7pub mod b64;
8pub mod jwk;
9pub mod jws;
10
11use b64::Bytes;
12use serde::{Deserialize, Serialize};
13
14pub trait MediaTyped {
15 const TYPE: &'static str;
16}
17
18#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
19pub struct Thumbprint {
20 #[serde(skip_serializing_if = "Option::is_none", default, rename = "x5t")]
21 s1: Option<Bytes>,
22
23 #[serde(skip_serializing_if = "Option::is_none", default, rename = "x5t#S256")]
24 s256: Option<Bytes>,
25}