summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt2
-rw-r--r--test/pcap/ssl/3-tls_ech.pcapbin0 -> 8424 bytes
-rw-r--r--test/pcap/ssl/ssl_result.json48
-rw-r--r--test/ssl_result.json32
-rw-r--r--test/ssl_test_plug.cpp6
5 files changed, 54 insertions, 34 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 7153a2a..d982b1b 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -37,6 +37,6 @@ set_target_properties(${lib_name}_test_plug PROPERTIES PREFIX "")
add_test(NAME COPY_SO COMMAND sh -c "cp ${CMAKE_BINARY_DIR}/${lib_name}.so ${PROTO_TEST_RUN_DIR}/plug/protocol/${lib_name}/${lib_name}.so")
add_test(NAME COPY_TEST_SO COMMAND sh -c "cp ${CMAKE_CURRENT_BINARY_DIR}/${lib_name}_test_plug.so ${PROTO_TEST_RUN_DIR}/plug/business/${lib_name}_test_plug/${lib_name}_test_plug.so")
-add_test(NAME RUN_SSL_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/ssl_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/ssl -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
+add_test(NAME RUN_SSL_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/ssl/ssl_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/ssl -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
add_test(NAME RUN_E21_BUG_E21_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/e21/ssl_e21_target_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/e21/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
add_test(NAME RUN_E21_BUG_XXG_TEST COMMAND proto_test_main ${CMAKE_CURRENT_SOURCE_DIR}/pcap/xxg/ssl_xxg_target_result.json -f "find ${CMAKE_CURRENT_SOURCE_DIR}/pcap/xxg/ -name *.pcap|sort -V" WORKING_DIRECTORY ${PROTO_TEST_RUN_DIR})
diff --git a/test/pcap/ssl/3-tls_ech.pcap b/test/pcap/ssl/3-tls_ech.pcap
new file mode 100644
index 0000000..0cb473f
--- /dev/null
+++ b/test/pcap/ssl/3-tls_ech.pcap
Binary files differ
diff --git a/test/pcap/ssl/ssl_result.json b/test/pcap/ssl/ssl_result.json
new file mode 100644
index 0000000..e1857f0
--- /dev/null
+++ b/test/pcap/ssl/ssl_result.json
@@ -0,0 +1,48 @@
+[{
+ "Tuple4": "192.168.50.38.52391>104.16.123.96.443",
+ "ssl_sni": "ESNI",
+ "ssl_client_version": "TLS1.2",
+ "ssl_ja3_hash": "62a4a00de930bd0a5bee0309cc8362ed",
+ "ssl_ja3s_hash": "eb1d94daa7e0344597e756a1fb6e7054",
+ "name": "SSL_RESULT_1"
+}, {
+ "Tuple4": "192.168.2.102.56768>34.138.246.121.443",
+ "ssl_sni": "public.tls-ech.dev",
+ "ssl_ech": "1",
+ "ssl_client_version": "TLS1.2",
+ "ssl_ja3_hash": "a195b9c006fcb23ab9a2343b0871e362",
+ "ssl_ja3s_hash": "2b0648ab686ee45e0e7c35fcfb0eea7e",
+ "name": "SSL_RESULT_2"
+}, {
+ "Tuple4": "90.143.182.94.55835>93.186.227.131.443",
+ "ssl_sni": "sun9-20.userapi.com",
+ "ssl_client_version": "TLS1.2",
+ "ssl_ja3_hash": "6f5e62edfa5933b1332ddf8b9fb3ef9d",
+ "ssl_ja3s_hash": "2d1eb5817ece335c24904f516ad5da12",
+ "ssl_cert_version": "v3",
+ "ssl_cert_Issuer": "GlobalSign Organization Validation CA - SHA256 - G2;GlobalSign nv-sa;;;;;BE",
+ "ssl_cert_IssuerCN": "GlobalSign Organization Validation CA - SHA256 - G2",
+ "ssl_cert_IssuerO": "GlobalSign nv-sa",
+ "ssl_cert_IssuerC": "BE",
+ "ssl_cert_Sub": "*.userapi.com;V Kontakte LLC;;Saint-Petersburg;;Saint-Petersburg;RU",
+ "ssl_cert_SubCN": "*.userapi.com",
+ "ssl_cert_SubO": "V Kontakte LLC",
+ "ssl_cert_SubC": "RU",
+ "ssl_cert_SubP": "Saint-Petersburg",
+ "ssl_cert_SubL": "Saint-Petersburg",
+ "ssl_cert_SubCN": "*.userapi.com",
+ "ssl_cert_SubAltName": "*.userapi.com;vk.me;*.vk-cdn.net;*.vkuserlive.com;*.vkuserlive.net;*.vkuseraudio.net;*.vkuseraudio.com;*.vkuservideo.net;*.vkuservideo.com;*.vk.me;userapi.com",
+ "ssl_cert_SerialNum": "0x5afa3a189e6a5c11e1e18b0f",
+ "ssl_cert_AgID": "1.2.840.113549.1.1.11",
+ "ssl_cert_From": "180717083809Z",
+ "ssl_cert_To": "190714162604Z",
+ "name": "SSL_RESULT_3"
+}, {
+ "Tuple4": "192.168.2.102.56776>34.138.246.121.443",
+ "ssl_sni": "public.tls-ech.dev",
+ "ssl_ech": "1",
+ "ssl_client_version": "TLS1.2",
+ "ssl_ja3_hash": "a195b9c006fcb23ab9a2343b0871e362",
+ "ssl_ja3s_hash": "2b0648ab686ee45e0e7c35fcfb0eea7e",
+ "name": "SSL_RESULT_4"
+}] \ No newline at end of file
diff --git a/test/ssl_result.json b/test/ssl_result.json
deleted file mode 100644
index 85f55d0..0000000
--- a/test/ssl_result.json
+++ /dev/null
@@ -1,32 +0,0 @@
-[{
- "Tuple4": "192.168.50.38.52391>104.16.123.96.443",
- "ssl_sni": "ESNI",
- "ssl_client_version": "TLS1.2",
- "ssl_ja3_hash": "62a4a00de930bd0a5bee0309cc8362ed",
- "ssl_ja3s_hash": "eb1d94daa7e0344597e756a1fb6e7054",
- "name": "SSL_RESULT_1"
-}, {
- "Tuple4": "90.143.182.94.55835>93.186.227.131.443",
- "ssl_sni": "sun9-20.userapi.com",
- "ssl_client_version": "TLS1.2",
- "ssl_ja3_hash": "6f5e62edfa5933b1332ddf8b9fb3ef9d",
- "ssl_ja3s_hash": "2d1eb5817ece335c24904f516ad5da12",
- "ssl_cert_version": "v3",
- "ssl_cert_Issuer": "GlobalSign Organization Validation CA - SHA256 - G2;GlobalSign nv-sa;;;;;BE",
- "ssl_cert_IssuerCN": "GlobalSign Organization Validation CA - SHA256 - G2",
- "ssl_cert_IssuerO": "GlobalSign nv-sa",
- "ssl_cert_IssuerC": "BE",
- "ssl_cert_Sub": "*.userapi.com;V Kontakte LLC;;Saint-Petersburg;;Saint-Petersburg;RU",
- "ssl_cert_SubCN": "*.userapi.com",
- "ssl_cert_SubO": "V Kontakte LLC",
- "ssl_cert_SubC": "RU",
- "ssl_cert_SubP": "Saint-Petersburg",
- "ssl_cert_SubL": "Saint-Petersburg",
- "ssl_cert_SubCN": "*.userapi.com",
- "ssl_cert_SubAltName": "*.userapi.com;vk.me;*.vk-cdn.net;*.vkuserlive.com;*.vkuserlive.net;*.vkuseraudio.net;*.vkuseraudio.com;*.vkuservideo.net;*.vkuservideo.com;*.vk.me;userapi.com",
- "ssl_cert_SerialNum": "0x5afa3a189e6a5c11e1e18b0f",
- "ssl_cert_AgID": "1.2.840.113549.1.1.11",
- "ssl_cert_From": "180717083809Z",
- "ssl_cert_To": "190714162604Z",
- "name": "SSL_RESULT_2"
-}]
diff --git a/test/ssl_test_plug.cpp b/test/ssl_test_plug.cpp
index e4cbbec..9f956e6 100644
--- a/test/ssl_test_plug.cpp
+++ b/test/ssl_test_plug.cpp
@@ -83,10 +83,14 @@ extern "C" unsigned char SSL_TEST_PLUG_ENTRY(stSessionInfo *session_info, void *
break;
}
- if (a_ssl->stClientHello->server_name != NULL && strlen((char *)(a_ssl->stClientHello->server_name)) > 0)
+ if (strlen((char *)(a_ssl->stClientHello->server_name)) > 0)
{
cJSON_AddStringToObject(ctx, (const char *)"ssl_sni", (const char *)(a_ssl->stClientHello->server_name));
}
+ if (a_ssl->stClientHello->encrypt_chello != NULL)
+ {
+ cJSON_AddStringToObject(ctx, (const char *)"ssl_ech", "1");
+ }
if (a_ssl->stClientHello->encrypted_server_name.esni != NULL)
{