openssl_ktls/
option.rs

1// Safe configuration for KTLS
2
3use openssl::ssl::SslOptions;
4
5pub const SSL_OP_ENABLE_KTLS: SslOptions =
6    SslOptions::from_bits_retain(crate::ffi::SSL_OP_ENABLE_KTLS);
7
8// TLS 1.2 cipher suites for KTLS
9// AES-GCM ciphers
10pub const ECDHE_RSA_AES128_GCM_SHA256: &str = "ECDHE-RSA-AES128-GCM-SHA256";
11pub const ECDHE_ECDSA_AES128_GCM_SHA256: &str = "ECDHE-ECDSA-AES128-GCM-SHA256";
12pub const ECDHE_RSA_AES256_GCM_SHA384: &str = "ECDHE-RSA-AES256-GCM-SHA384";
13pub const ECDHE_ECDSA_AES256_GCM_SHA384: &str = "ECDHE-ECDSA-AES256-GCM-SHA384";
14pub const AES128_GCM_SHA256: &str = "AES128-GCM-SHA256";
15pub const AES256_GCM_SHA384: &str = "AES256-GCM-SHA384";
16
17// ChaCha20-Poly1305 ciphers
18pub const ECDHE_RSA_CHACHA20_POLY1305: &str = "ECDHE-RSA-CHACHA20-POLY1305";
19pub const ECDHE_ECDSA_CHACHA20_POLY1305: &str = "ECDHE-ECDSA-CHACHA20-POLY1305";
20
21// TLS 1.3 cipher suites for KTLS
22pub const TLS13_AES_128_GCM_SHA256: &str = "TLS_AES_128_GCM_SHA256";
23pub const TLS13_AES_256_GCM_SHA384: &str = "TLS_AES_256_GCM_SHA384";
24pub const TLS13_CHACHA20_POLY1305_SHA256: &str = "TLS_CHACHA20_POLY1305_SHA256";
25
26// Common cipher lists for easy configuration
27pub const KTLS_TLS12_CIPHER_LIST: &str = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-CHACHA20-POLY1305";
28pub const KTLS_TLS13_CIPHER_LIST: &str =
29    "TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256";