summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/ssl.h1
-rw-r--r--src/SSL_Message.c15
-rw-r--r--test/CMakeLists.txt1
-rw-r--r--test/pcap/tlcp/tlcp.192.168.54.245.47596-202.99.22.112.6443.pcapbin0 -> 131072 bytes
-rw-r--r--test/pcap/tlcp/tlcp_result.json27
5 files changed, 42 insertions, 2 deletions
diff --git a/include/ssl.h b/include/ssl.h
index ef7ed03..d5c1d96 100644
--- a/include/ssl.h
+++ b/include/ssl.h
@@ -32,6 +32,7 @@ enum ssl_interested_region
#define TLSV1_2_VERSION 0x0303
#define DTLSV1_0_VERSION 0xfeff
#define DTLSV1_0_VERSION_NOT 0x0100
+#define TLCPV1_VERSION 0x0101
struct cdata_buf
{
diff --git a/src/SSL_Message.c b/src/SSL_Message.c
index cab9954..792c71f 100644
--- a/src/SSL_Message.c
+++ b/src/SSL_Message.c
@@ -49,6 +49,7 @@ const struct ssl_serial_string g_astCompression[] =
const struct ssl_value2string ssl_version_list[] =
{
+ { TLCPV1_VERSION, "TLCP1.1" },
{ DTLSV1_0_VERSION, "DTLS1.0" },
{ DTLSV1_0_VERSION_NOT, "DTLS1.0(OpenSSL pre 0.9.8f)" },
{ TLSV1_2_VERSION, "TLS1.2" },
@@ -236,7 +237,12 @@ unsigned short ssl_get_hello_version(unsigned char *pcData, unsigned int payload
return 0;
}
- if (03 == pcData[4] && 1 == pcData[5])
+ if (1 == pcData[4] && 1 == pcData[5])
+ {
+ /*TLCP 1.1*/
+ return TLCPV1_VERSION;
+ }
+ else if (03 == pcData[4] && 1 == pcData[5])
{
/*TLS 1.0*/
return TLSV1_0_VERSION;
@@ -902,7 +908,12 @@ int ssl_identify_version(char *pcData, int payload_len)
return 0;
}
- if (03 == pcData[1] && 1 == pcData[2])
+ if (01 == pcData[1] && 1 == pcData[2])
+ {
+ /*TLCP 1.1*/
+ return TLCPV1_VERSION;
+ }
+ else if (03 == pcData[1] && 1 == pcData[2])
{
/*TLS 1.0*/
return TLSV1_0_VERSION;
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index d234fca..124fe18 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -46,3 +46,4 @@ add_test(NAME RUN_CLOSE_CONTAINS_PAYLOAD_TEST COMMAND proto_test_main ${CMAKE_CU
add_test(NAME RUN_EXTENSION_EXCEED_16 COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/extensions_exceed_16/extensions_exceed_16_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/extensions_exceed_16/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
add_test(NAME RUN_CLIENT_HELLO_FRAGMENT COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/client_hello_fragment/ssl_client_hello_fragment_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/client_hello_fragment/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
add_test(NAME RUN_ACK_CONTAINS_PAYLOAD COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/tcp_ack_contians_payload/ssl_tcp_ack_contians_payload_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/tcp_ack_contians_payload/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
+add_test(NAME RUN_TLCP COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/tlcp/tlcp_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/tlcp/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
diff --git a/test/pcap/tlcp/tlcp.192.168.54.245.47596-202.99.22.112.6443.pcap b/test/pcap/tlcp/tlcp.192.168.54.245.47596-202.99.22.112.6443.pcap
new file mode 100644
index 0000000..c5c5aa7
--- /dev/null
+++ b/test/pcap/tlcp/tlcp.192.168.54.245.47596-202.99.22.112.6443.pcap
Binary files differ
diff --git a/test/pcap/tlcp/tlcp_result.json b/test/pcap/tlcp/tlcp_result.json
new file mode 100644
index 0000000..9e300df
--- /dev/null
+++ b/test/pcap/tlcp/tlcp_result.json
@@ -0,0 +1,27 @@
+[
+ {
+ "Tuple4": "192.168.54.245.47596>202.99.22.112.6443",
+ "ssl_sni": "wap.citicbank.cn",
+ "ssl_client_version": "TLCP1.1",
+ "ssl_ja3_hash": "3e8b40596a01530fa02d265ff3c397cc",
+ "ssl_ja3s_hash": "425270d1bb1ca2d7b07a2f70420d4c07",
+ "ssl_cert_version": "v3",
+ "ssl_cert_Issuer": "Beijing SM2 CA;BJCA;BJCA;;;;CN",
+ "ssl_cert_IssuerCN": "Beijing SM2 CA",
+ "ssl_cert_IssuerO": "BJCA",
+ "ssl_cert_IssuerC": "CN",
+ "ssl_cert_IssuerU": "BJCA",
+ "ssl_cert_Sub": "wap.citicbank.cn;中信银行股份有限公司;;;;北京;CN",
+ "ssl_cert_SubCN": "wap.citicbank.cn",
+ "ssl_cert_SubO": "中信银行股份有限公司",
+ "ssl_cert_SubC": "CN",
+ "ssl_cert_SubP": "北京",
+ "ssl_cert_SubAltName": "wap.citicbank.cn",
+ "ssl_cert_SerialNum": "0x1a1000000000047f95f8",
+ "ssl_cert_AgID": "1.2.156.10197.1.501",
+ "ssl_cert_From": "240408160000Z",
+ "ssl_cert_To": "250425155959Z",
+ "ssl_cert_SSLFPAg": "1.2.156.10197.1.501",
+ "name": "SSL_RESULT_1"
+ }
+] \ No newline at end of file