/src/PcapPlusPlus/Packet++/src/SSLCommon.cpp
Line | Count | Source |
1 | | #define LOG_MODULE PacketLogModuleSSLLayer |
2 | | |
3 | | #include "SSLCommon.h" |
4 | | |
5 | | namespace pcpp |
6 | | { |
7 | | |
8 | | // ------------------------- |
9 | | // SSLVersion methods |
10 | | // ------------------------- |
11 | | |
12 | | SSLVersion::SSLVersionEnum SSLVersion::asEnum(bool countTlsDraftsAs1_3) |
13 | 197k | { |
14 | 197k | if (m_SSLVersionValue >= 0x0300 && m_SSLVersionValue <= 0x0304) |
15 | 197k | return static_cast<SSLVersion::SSLVersionEnum>(m_SSLVersionValue); |
16 | | |
17 | 267 | if ((m_SSLVersionValue >= 0x7f0e && m_SSLVersionValue <= 0x7f1c) || m_SSLVersionValue == 0xfb17 || |
18 | 267 | m_SSLVersionValue == 0xfb1a) |
19 | 0 | { |
20 | 0 | if (countTlsDraftsAs1_3) |
21 | 0 | return SSLVersion::TLS1_3; |
22 | 0 | else |
23 | 0 | return static_cast<SSLVersion::SSLVersionEnum>(m_SSLVersionValue); |
24 | 0 | } |
25 | | |
26 | 267 | return SSLVersion::Unknown; |
27 | 267 | } |
28 | | |
29 | | std::string SSLVersion::toString(bool countTlsDraftsAs1_3) |
30 | 48.0k | { |
31 | 48.0k | SSLVersionEnum enumValue = asEnum(countTlsDraftsAs1_3); |
32 | | |
33 | 48.0k | switch (enumValue) |
34 | 48.0k | { |
35 | 546 | case SSLVersion::TLS1_3: |
36 | 546 | return "TLS 1.3"; |
37 | 37.9k | case SSLVersion::TLS1_2: |
38 | 37.9k | return "TLS 1.2"; |
39 | 378 | case SSLVersion::TLS1_1: |
40 | 378 | return "TLS 1.1"; |
41 | 8.87k | case SSLVersion::TLS1_0: |
42 | 8.87k | return "TLS 1.0"; |
43 | 302 | case SSLVersion::SSL3: |
44 | 302 | return "SSL 3.0"; |
45 | 0 | case SSLVersion::TLS1_3_D28: |
46 | 0 | return "TLS 1.3 (draft 28)"; |
47 | 0 | case SSLVersion::TLS1_3_D27: |
48 | 0 | return "TLS 1.3 (draft 27)"; |
49 | 0 | case SSLVersion::TLS1_3_D26: |
50 | 0 | return "TLS 1.3 (draft 26)"; |
51 | 0 | case SSLVersion::TLS1_3_D25: |
52 | 0 | return "TLS 1.3 (draft 25)"; |
53 | 0 | case SSLVersion::TLS1_3_D24: |
54 | 0 | return "TLS 1.3 (draft 24)"; |
55 | 0 | case SSLVersion::TLS1_3_D23: |
56 | 0 | return "TLS 1.3 (draft 23)"; |
57 | 0 | case SSLVersion::TLS1_3_D22: |
58 | 0 | return "TLS 1.3 (draft 22)"; |
59 | 0 | case SSLVersion::TLS1_3_D21: |
60 | 0 | return "TLS 1.3 (draft 21)"; |
61 | 0 | case SSLVersion::TLS1_3_D20: |
62 | 0 | return "TLS 1.3 (draft 20)"; |
63 | 0 | case SSLVersion::TLS1_3_D19: |
64 | 0 | return "TLS 1.3 (draft 19)"; |
65 | 0 | case SSLVersion::TLS1_3_D18: |
66 | 0 | return "TLS 1.3 (draft 18)"; |
67 | 0 | case SSLVersion::TLS1_3_D17: |
68 | 0 | return "TLS 1.3 (draft 17)"; |
69 | 0 | case SSLVersion::TLS1_3_D16: |
70 | 0 | return "TLS 1.3 (draft 16)"; |
71 | 0 | case SSLVersion::TLS1_3_D15: |
72 | 0 | return "TLS 1.3 (draft 15)"; |
73 | 0 | case SSLVersion::TLS1_3_D14: |
74 | 0 | return "TLS 1.3 (draft 14)"; |
75 | 0 | case SSLVersion::TLS1_3_FBD23: |
76 | 0 | return "TLS 1.3 (Facebook draft 23)"; |
77 | 0 | case SSLVersion::TLS1_3_FBD26: |
78 | 0 | return "TLS 1.3 (Facebook draft 26)"; |
79 | 0 | case SSLVersion::Unknown: |
80 | 0 | return "Unknown"; |
81 | 0 | default: |
82 | 0 | return "Unknown"; |
83 | 48.0k | } |
84 | 48.0k | } |
85 | | |
86 | | } // namespace pcpp |