aboutsummaryrefslogtreecommitdiff
path: root/example/ndpiReader.c
diff options
context:
space:
mode:
authorLuca Deri <deri@ntop.org>2019-09-14 15:00:52 +0200
committerLuca Deri <deri@ntop.org>2019-09-14 15:00:52 +0200
commit00e639d51301ccbaa2c14a47e829bdfe1831e226 (patch)
treeaa3ac6ff61dfb3a367b6e3b9fe75ce84965165c0 /example/ndpiReader.c
parent659f75138c2a95e5823608a545b9a3d3ced223bc (diff)
TLS certificate hash is not reported
Diffstat (limited to 'example/ndpiReader.c')
-rw-r--r--example/ndpiReader.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/example/ndpiReader.c b/example/ndpiReader.c
index 2dde10182..782e62fb8 100644
--- a/example/ndpiReader.c
+++ b/example/ndpiReader.c
@@ -1024,6 +1024,8 @@ static void printFlow(u_int16_t id, struct ndpi_flow_info *flow, u_int16_t threa
return;
if(!json_flag) {
+ u_int i;
+
fprintf(out, "\t%u", id);
fprintf(out, "\t%s ", ipProto2Name(flow->protocol));
@@ -1101,6 +1103,7 @@ static void printFlow(u_int16_t id, struct ndpi_flow_info *flow, u_int16_t threa
if(flow->ssh_tls.ja3_client[0] != '\0') fprintf(out, "[JA3C: %s%s]", flow->ssh_tls.ja3_client,
print_cipher(flow->ssh_tls.client_unsafe_cipher));
+
if(flow->ssh_tls.server_info[0] != '\0') fprintf(out, "[Server: %s]", flow->ssh_tls.server_info);
if(flow->ssh_tls.server_hassh[0] != '\0') fprintf(out, "[HASSH-S: %s]", flow->ssh_tls.server_hassh);
@@ -1108,6 +1111,20 @@ static void printFlow(u_int16_t id, struct ndpi_flow_info *flow, u_int16_t threa
print_cipher(flow->ssh_tls.server_unsafe_cipher));
if(flow->ssh_tls.server_organization[0] != '\0') fprintf(out, "[Organization: %s]", flow->ssh_tls.server_organization);
+ if(flow->detected_protocol.master_protocol == NDPI_PROTOCOL_TLS) {
+ if((flow->ssh_tls.sha1_cert_fingerprint[0] == 0)
+ && (flow->ssh_tls.sha1_cert_fingerprint[1] == 0)
+ && (flow->ssh_tls.sha1_cert_fingerprint[2] == 0))
+ ; /* Looks empty */
+ else {
+ fprintf(out, "[Certificate SHA-1: ");
+ for(i=0; i<20; i++)
+ fprintf(out, "%s%02X", (i > 0) ? ":" : "",
+ flow->ssh_tls.sha1_cert_fingerprint[i] & 0xFF);
+ fprintf(out, "]");
+ }
+ }
+
if(flow->ssh_tls.notBefore && flow->ssh_tls.notAfter) {
char notBefore[32], notAfter[32];
struct tm a, b;