1#[cfg(all(feature = "fips", target_os = "windows"))]
5std::compile_error!("feature `fips` is not supported on windows");
6
7#[macro_use]
8mod negotiated;
9#[macro_use]
10mod header_key;
11
12mod aead;
13mod cipher_suite;
14mod iv;
15
16#[doc(hidden)]
17pub use aws_lc_rs::{
18 aead as aws_lc_aead, aead::MAX_TAG_LEN, constant_time, digest, hkdf, hkdf::Prk, hmac,
19};
20
21#[derive(Clone)]
22pub struct SecretPair {
23 pub server: Prk,
24 pub client: Prk,
25}
26
27pub mod handshake;
28pub mod initial;
29pub mod one_rtt;
30pub mod retry;
31pub mod zero_rtt;
32
33#[derive(Clone, Copy, Debug, Default)]
34pub struct Suite;
35
36impl s2n_quic_core::crypto::CryptoSuite for Suite {
37 type HandshakeKey = handshake::HandshakeKey;
38 type HandshakeHeaderKey = handshake::HandshakeHeaderKey;
39 type InitialKey = initial::InitialKey;
40 type InitialHeaderKey = initial::InitialHeaderKey;
41 type OneRttKey = one_rtt::OneRttKey;
42 type OneRttHeaderKey = one_rtt::OneRttHeaderKey;
43 type ZeroRttKey = zero_rtt::ZeroRttKey;
44 type ZeroRttHeaderKey = zero_rtt::ZeroRttHeaderKey;
45 type RetryKey = retry::RetryKey;
46}