Skip to main content

drawbridge_jose/
lib.rs

1// SPDX-FileCopyrightText: 2022 Profian Inc. <opensource@profian.com>
2// SPDX-License-Identifier: Apache-2.0
3
4#![forbid(unsafe_code, clippy::expect_used, clippy::panic)]
5#![deny(
6    clippy::all,
7    absolute_paths_not_starting_with_crate,
8    deprecated_in_future,
9    missing_copy_implementations,
10    missing_debug_implementations,
11    noop_method_call,
12    rust_2018_compatibility,
13    rust_2018_idioms,
14    rust_2021_compatibility,
15    single_use_lifetimes,
16    trivial_bounds,
17    trivial_casts,
18    trivial_numeric_casts,
19    unreachable_code,
20    unreachable_patterns,
21    unreachable_pub,
22    unstable_features,
23    unused,
24    unused_crate_dependencies,
25    unused_import_braces,
26    unused_lifetimes,
27    unused_qualifications,
28    unused_results,
29    variant_size_differences
30)]
31
32pub mod b64;
33pub mod jwk;
34pub mod jws;
35
36use b64::Bytes;
37use serde::{Deserialize, Serialize};
38
39pub trait MediaTyped {
40    const TYPE: &'static str;
41}
42
43#[derive(Clone, Debug, Default, PartialEq, Eq, Serialize, Deserialize)]
44pub struct Thumbprint {
45    #[serde(skip_serializing_if = "Option::is_none", default, rename = "x5t")]
46    s1: Option<Bytes>,
47
48    #[serde(skip_serializing_if = "Option::is_none", default, rename = "x5t#S256")]
49    s256: Option<Bytes>,
50}