Function parse_tls_handshake_msg_server_hello

Source
pub fn parse_tls_handshake_msg_server_hello(
    i: &[u8],
) -> IResult<&[u8], TlsMessageHandshake<'_>>
Expand description

Parse a ServerHello handshake message (all TLS versions)

This function returns a TlsMessageHandshake. To get only the ServerHello contents, use the parse_tls_handshake_server_hello function.

use tls_parser::*;

if let Ok((_, msg)) = parse_tls_handshake_msg_server_hello(bytes) {
    match msg {
        TlsMessageHandshake::ServerHello(sh) => {
            println!("ServerHello TLS version: {}", sh.version);
            println!("  server chosen ciphersuites: {}", sh.cipher);
        }
        TlsMessageHandshake::ServerHelloV13Draft18(sh) => {
            println!("ServerHello v1.3 draft 18 TLS version: {}", sh.version);
        }
        _ => {
            println!("Not a ServerHello");
        }
    }
}