pub struct ConnectionOutputs { /* private fields */ }Expand description
Facts about the connection learned through the handshake.
Implementations§
Source§impl ConnectionOutputs
impl ConnectionOutputs
Sourcepub fn peer_identity(&self) -> Option<&Identity<'static>>
pub fn peer_identity(&self) -> Option<&Identity<'static>>
Retrieves the certificate chain or the raw public key used by the peer to authenticate.
This is made available for both full and resumed handshakes.
For clients, this is the identity of the server. For servers, this is the identity of the client, if client authentication was completed.
The return value is None until this value is available.
Sourcepub fn alpn_protocol(&self) -> Option<&ApplicationProtocol<'static>>
pub fn alpn_protocol(&self) -> Option<&ApplicationProtocol<'static>>
Retrieves the protocol agreed with the peer via ALPN.
A return value of None after handshake completion
means no protocol was agreed (because no protocols
were offered or accepted by the peer).
Sourcepub fn negotiated_cipher_suite(&self) -> Option<SupportedCipherSuite>
pub fn negotiated_cipher_suite(&self) -> Option<SupportedCipherSuite>
Retrieves the cipher suite agreed with the peer.
This returns None until the cipher suite is agreed.
Sourcepub fn negotiated_key_exchange_group(
&self,
) -> Option<&'static dyn SupportedKxGroup>
pub fn negotiated_key_exchange_group( &self, ) -> Option<&'static dyn SupportedKxGroup>
Retrieves the key exchange group agreed with the peer.
This function may return None depending on the state of the connection,
the type of handshake, and the protocol version.
If CommonState::is_handshaking() is true this function will return None.
Similarly, if the ConnectionOutputs::handshake_kind() is HandshakeKind::Resumed
and the ConnectionOutputs::protocol_version() is TLS 1.2, then no key exchange will have
occurred and this function will return None.
Sourcepub fn protocol_version(&self) -> Option<ProtocolVersion>
pub fn protocol_version(&self) -> Option<ProtocolVersion>
Retrieves the protocol version agreed with the peer.
This returns None until the version is agreed.
Sourcepub fn handshake_kind(&self) -> Option<HandshakeKind>
pub fn handshake_kind(&self) -> Option<HandshakeKind>
Which kind of handshake was performed.
This tells you whether the handshake was a resumption or not.
This will return None before it is known which sort of
handshake occurred.
Sourcepub fn tls13_tickets_received(&self) -> u32
pub fn tls13_tickets_received(&self) -> u32
Returns the number of TLS1.3 tickets that have been received.
Only clients receive tickets, so this is zero for servers.
Sourcepub fn fips(&self) -> FipsStatus
pub fn fips(&self) -> FipsStatus
Return the FIPS validation status of the connection.
This is different from crate::crypto::CryptoProvider::fips():
it is concerned only with cryptography, whereas this also covers TLS-level
configuration that NIST recommends, as well as ECH HPKE suites if applicable.