pub trait ChannelBindingProvider {
// Required method
fn channel_binding(&self) -> Result<ChannelBinding, ChannelBindingError>;
}Expand description
Port: extract the channel binding from a live transport.
Implemented by the TLS-aware crates as an adapter over their concrete stack. The core protocol depends only on this trait, never on a TLS library — ports and adapters at the transport edge.
The adapter MUST call its stack’s keying-material exporter with
TLS_EXPORTER_LABEL, an absent context, and length
TLS_EXPORTER_LEN, then hand the bytes to
ChannelBinding::from_exporter. An adapter that cannot produce a binding
(handshake incomplete, not TLS 1.3) MUST return
ChannelBindingError::ExporterUnavailable — never a placeholder — so the
caller fails closed instead of minting an unbound, relay-able proof.
Required Methods§
Sourcefn channel_binding(&self) -> Result<ChannelBinding, ChannelBindingError>
fn channel_binding(&self) -> Result<ChannelBinding, ChannelBindingError>
The current connection’s RFC 9266 channel binding.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".