Skip to main content

ChannelBindingProvider

Trait ChannelBindingProvider 

Source
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§

Source

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".

Implementors§