diff --git a/src/tls_packet.rs b/src/tls_packet.rs index 9a37455..c172e26 100644 --- a/src/tls_packet.rs +++ b/src/tls_packet.rs @@ -216,6 +216,17 @@ impl<'a, 'b> HandshakeRepr<'a> { Err(()) } } + + pub(crate) fn get_cert_request_extensions(&self) -> Result<&Vec, ()> { + if self.msg_type != HandshakeType::CertificateRequest { + return Err(()) + }; + if let HandshakeData::CertificateRequest(req) = &self.handshake_data { + Ok(&req.extensions) + } else { + Err(()) + } + } } #[derive(Debug, PartialEq, Eq, Clone, Copy, IntoPrimitive, TryFromPrimitive)] @@ -620,6 +631,10 @@ pub enum SignatureScheme { rsa_pss_pss_sha256 = 0x0809, rsa_pss_pss_sha384 = 0x080a, rsa_pss_pss_sha512 = 0x080b, + + /* Bad value */ + #[num_enum(default)] + illegal = 0xFFFF, } #[derive(Debug, Clone)]