OxiTLS 0.1.1 Release
[0.1.1] - 2026-06-04
Added
Encrypted Client Hello / HPKE (oxitls-adapter-rustls-rustcrypto, oxitls)
- Full RFC 9180 HPKE implementation (base mode) behind the
echfeature flag, with two
KEM variants (KemX25519,KemP256) and two AEAD suites (AeadAes128Gcm,AeadChacha20)
— validated against known-answer test vectors. generate_ech_config_list(suite, config_id, public_name, max_name_length)— mints a
spec-correctECHConfigList(draft-ietf-tls-esni-18 /0xfe0d) with self-validation;
re-exported from theoxitlsfacade asoxitls::generate_ech_config_list.GeneratedEchConfigstruct exposingconfig_list,private_key,public_key, and
config_idfields for deploy-ready ECH key management.ClientBuilder::with_ech_config_list(bytes)— enable real ECH with a rawECHConfigList
from a DNS HTTPS record (echfeature, impliespure).ClientBuilder::with_ech_grease()— enable RFC 8701 GREASE mode to prevent ECH extension
ossification without a real server config.OxiTlsStream::ech_status()— inspect the ECH negotiation outcome on a client stream
(echfeature).EchConfig,EchGreaseConfig,EchMode,EchStatusre-exported fromoxitlsunder
theechfeature for consumers who do not depend onrustlsdirectly.
RFC 8879 Certificate Compression (oxitls-adapter-rustls-rustcrypto, oxitls)
OxiArcZlibCompressor/OxiArcZlibDecompressor— zero-sizedrustls::CertCompressor/
CertDecompressorimplementations backed byoxiarc-deflate(pure-Rust RFC 1950 zlib);
mapInteractive→ level 1 andAmortized→ level 9.OXIARC_ZLIB_COMPRESSOR/OXIARC_ZLIB_DECOMPRESSORstatic references for direct use.install_cert_compression_client(config)/install_cert_compression_server(config)—
convenience helpers that wire the OxiARC compressors into arustlsconfig in one call.ClientBuilder::with_cert_compression()/ServerBuilder::with_cert_compression()—
high-level builder methods that activate RFC 8879 compression on the produced config
(cert-compressionfeature, TLS 1.3 only).- New
cert-compressionfeature flag in bothoxitls-adapter-rustls-rustcryptoandoxitls. - New
echfeature flag inoxitls-adapter-rustls-rustcryptoandoxitls.
PKCS#11 Hybrid Integration (oxitls-adapter-aws-lc)
- Real-HSM integration test
real_pkcs11_key_with_aws_lc_provider_succeeds— exercises a
full TLS 1.3 loopback handshake where the server's private key never leaves SoftHSM2 while
aws_lc_provider()handles bulk crypto (marked#[ignore]; requires env vars).
PKCS#11 Benchmarks (oxitls-adapter-pkcs11)
bench_semaphore_acquireandbench_pool_sign_throughput— hardware-free session-pool
micro-benchmarks measuringtokio::sync::Semaphoreacquire/release latency and concurrent
P-256 sign throughput at pool capacities 1, 4, and 16.bench_hsm_pool_acquire— real HSM pool acquire bench (compiled underpkcs11feature;
skipped gracefully whenSOFTHSM2_MODULEis absent).bench_sign_latencyandbench_pool_contention— software ECDSA-P256 baseline always
measured; HSM variants active only with thepkcs11feature andSOFTHSM2_MODULEset.
Server Ticketer Rotation (oxitls)
ServerBuilder::with_ticketer_rotation_interval(duration)— installs anOxiTicketer
that spawns a background tokio task to rotate session-ticket keys on the given interval.
Changed
p256dependency:ecdhfeature added (required by DHKEM P-256 in HPKE).aes-gcmdependency:allocfeature added (required by HPKE AEAD seal/open).oxiarc-deflate 0.2andhkdf 0.13added as optional workspace dependencies (used by
cert-compressionandechfeatures respectively).oxitls-adapter-rustls-rustcryptoandoxitls-adapter-aws-lcdev-dependencies restored
post-publish:oxitls-rcgen,oxihttp-server,oxitls-adapter-pkcs11paths re-enabled.
Fixed
clone_private_key_derinoxitlsclient path now returnsResult<PrivateKeyDer, TlsError>
instead of panicking on unrecognisedPrivateKeyDervariants (no-unwrap policy); all four
ClientBuilder::build()call sites updated accordingly.
Full Changelog: v0.1.0...v0.1.1