[−][src]Struct rustls_extra::CommonTlsPostHandshakeInformation
TLS information available after successful handshaking that is common to both clients and servers.
Fields
negotiated_protocol_version: ProtocolVersion
Negotiated protocol version.
negotiated_cipher_suite: &'static SupportedCipherSuite
Negotiated cipher suite.
agreed_application_layer_protocol_negotiation_protocol: Option<&'tls_session [u8]>
Agreed application layer protocol negotation (ALPN) protocol.
None if no protocol was agreed or no protocol was supplied.
peer_certificates: Vec<Certificate>
Peer certificates.
Methods
impl<'tls_session> CommonTlsPostHandshakeInformation<'tls_session>
[src]
pub fn from_tls_session(
tls_session: &'tls_session impl Session
) -> Self
[src]
tls_session: &'tls_session impl Session
) -> Self
Creates from a TLS session.
pub fn calculate_tls_server_end_point_channel_binding_certificate_hash(
&self
) -> Vec<u8>
[src]
&self
) -> Vec<u8>
RFC defines 5929 three channel bindings: tls-unique
, tls-server-end-point
and tls-unique-for-telnet
.
These are officially not defined for TLS 1.3 (RFC 8446).
It is actually impossible to calculate tls-unique
for TLS 1.3.
tls-unique-for-telnet
should be considered dead.
Thus only tls-server-end-point
is potentially usable.
Additionally, it is supported by common database products, including Postgres and MongoDb, with the SCRAM-SHA-256-PLUS
SASL authentication mechanism.
Trait Implementations
impl<'tls_session> Debug for CommonTlsPostHandshakeInformation<'tls_session>
[src]
Auto Trait Implementations
impl<'tls_session> Send for CommonTlsPostHandshakeInformation<'tls_session>
impl<'tls_session> Sync for CommonTlsPostHandshakeInformation<'tls_session>
Blanket Implementations
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,