Skip to main content

lobe_core/models/
tls.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
4pub enum TlsStatus {
5    NotUsed,
6    HandshakeSucceeded,
7    HandshakeFailed,
8}
9
10#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
11pub struct CertificateInfo {
12    pub subject: String,
13    pub issuer: String,
14    pub not_before: Option<String>,
15    pub not_after: Option<String>,
16}
17
18#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
19pub struct TlsReport {
20    pub enabled: bool,
21    pub status: TlsStatus,
22    pub version: Option<String>,
23    pub cipher_suite: Option<String>,
24    pub certificate: Option<CertificateInfo>,
25    pub error_message: Option<String>,
26}