openssl-ktls 0.2.4

Openssl KTLS support (with tokio)
Documentation
// Safe configuration for KTLS

use openssl::ssl::SslOptions;

pub const SSL_OP_ENABLE_KTLS: SslOptions =
    SslOptions::from_bits_retain(crate::ffi::SSL_OP_ENABLE_KTLS);

// TLS 1.2 cipher suites for KTLS
// AES-GCM ciphers
pub const ECDHE_RSA_AES128_GCM_SHA256: &str = "ECDHE-RSA-AES128-GCM-SHA256";
pub const ECDHE_ECDSA_AES128_GCM_SHA256: &str = "ECDHE-ECDSA-AES128-GCM-SHA256";
pub const ECDHE_RSA_AES256_GCM_SHA384: &str = "ECDHE-RSA-AES256-GCM-SHA384";
pub const ECDHE_ECDSA_AES256_GCM_SHA384: &str = "ECDHE-ECDSA-AES256-GCM-SHA384";
pub const AES128_GCM_SHA256: &str = "AES128-GCM-SHA256";
pub const AES256_GCM_SHA384: &str = "AES256-GCM-SHA384";

// ChaCha20-Poly1305 ciphers
pub const ECDHE_RSA_CHACHA20_POLY1305: &str = "ECDHE-RSA-CHACHA20-POLY1305";
pub const ECDHE_ECDSA_CHACHA20_POLY1305: &str = "ECDHE-ECDSA-CHACHA20-POLY1305";

// TLS 1.3 cipher suites for KTLS
pub const TLS13_AES_128_GCM_SHA256: &str = "TLS_AES_128_GCM_SHA256";
pub const TLS13_AES_256_GCM_SHA384: &str = "TLS_AES_256_GCM_SHA384";
pub const TLS13_CHACHA20_POLY1305_SHA256: &str = "TLS_CHACHA20_POLY1305_SHA256";

// Common cipher lists for easy configuration
pub 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";
pub const KTLS_TLS13_CIPHER_LIST: &str =
    "TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256";