1#![deny(missing_docs)]
7
8#[cfg(all(feature = "rust_crypto", feature = "aws_lc_rs"))]
9compile_error!(
10 "feature \"rust_crypto\" and feature \"aws_lc_rs\" cannot be enabled at the same time"
11);
12
13#[cfg(not(any(feature = "rust_crypto", feature = "aws_lc_rs")))]
14compile_error!("at least one of the features \"rust_crypto\" or \"aws_lc_rs\" must be enabled");
15
16pub use algorithms::Algorithm;
17pub use decoding::{DecodingKey, TokenData, decode, decode_header};
18pub use encoding::{EncodingKey, encode};
19pub use header::Header;
20pub use validation::{Validation, get_current_timestamp};
21
22pub mod dangerous {
24 pub use super::decoding::insecure_decode;
25}
26
27mod algorithms;
28pub mod crypto;
30mod decoding;
31mod encoding;
32pub mod errors;
34mod header;
35pub mod jwk;
36pub mod jws;
37#[cfg(feature = "use_pem")]
38mod pem;
39mod serialization;
40mod validation;