@@ -59,6 +59,12 @@ has_static_rsa=no
5959if [ $? -eq 0 ]; then
6060 has_static_rsa=yes
6161fi
62+ # ./configure --enable-sniffer CFLAGS="-DWOLFSSL_SNIFFER_KEYLOGFILE"
63+ has_keylog=no
64+ ./sslSniffer/sslSnifferTest/snifftest -? 2>&1 | grep -- ' ssl_keylog_file'
65+ if [ $? -eq 0 ]; then
66+ has_keylog=yes
67+ fi
6268
6369
6470RESULT=0
@@ -67,7 +73,7 @@ RESULT=0
6773if test $RESULT -eq 0 && test $has_rsa == yes && test $has_tlsv12 == yes && test $has_static_rsa == yes
6874then
6975 echo -e " \nStaring snifftest on testsuite.pcap...\n"
70- ./sslSniffer/sslSnifferTest/snifftest ./scripts/sniffer-static-rsa.pcap ./certs/server-key.pem 127.0.0.1 11111
76+ ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-static-rsa.pcap -key ./certs/server-key.pem -server 127.0.0.1 -port 11111
7177
7278 RESULT=$?
7379 [ $RESULT -ne 0 ] && echo -e " \nsnifftest static RSA failed\n" && exit 1
7783if test $RESULT -eq 0 && test $has_rsa == yes && test $has_tlsv12 == yes && test $has_static_rsa == yes
7884then
7985 echo -e " \nStaring snifftest on sniffer-ipv6.pcap...\n"
80- ./sslSniffer/sslSnifferTest/snifftest ./scripts/sniffer-ipv6.pcap ./certs/server-key.pem ::1 11111
86+ ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-ipv6.pcap -key ./certs/server-key.pem -server ::1 -port 11111
8187
8288 RESULT=$?
8389 [ $RESULT -ne 0 ] && echo -e " \nsnifftest (ipv6) failed\n" && exit 1
8490fi
8591
92+ # TLS v1.2 sniffer keylog file test: runs sniffer on pcap and associated keylog file and compares decrypted traffic with known good output.
93+ # To regenerate the known good output, run `scripts/sniffer-gen.sh` to regenerate the pcap and keylog file, then run the sniffer on it
94+ # with the same arguments as in the test belowl, but redirect output to `./scripts/sniffer-tls12-keylog.out`.
95+ if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_keylog == yes
96+ then
97+ TMPFILE=$( mktemp)
98+ RESULT=$?
99+ [ $RESULT -ne 0 ] && echo -e " \nsnifftest keylog test failed: unable to create tmpfile\n" && rm $TMPFILE && exit 1
100+
101+ ./sslSniffer/sslSnifferTest/snifftest \
102+ -pcap scripts/sniffer-tls12-keylog.pcap \
103+ -keylogfile scripts/sniffer-tls12-keylog.sslkeylog \
104+ -server 127.0.0.1 -port 11111 > $TMPFILE
105+
106+ RESULT=$?
107+ [ $RESULT -ne 0 ] && echo -e " \nsnifftest keylog test failed: snifftest returned $RESULT \n" && rm $TMPFILE && exit 1
108+
109+ # sed '1d' strips out first line, which contains wolfSSL version
110+ sed ' 1d' $TMPFILE | diff - <( sed ' 1d' scripts/sniffer-tls12-keylog.out)
111+
112+ RESULT=$?
113+ [ $RESULT -ne 0 ] && echo -e " \nsnifftest keylog test failed: snifftest diff returned $RESULT \n" && rm $TMPFILE && exit 1
114+
115+ rm $TMPFILE
116+ fi
117+
86118# TLS v1.3 sniffer test ECC
87119if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_ecc == yes
88120then
89- ./sslSniffer/sslSnifferTest/snifftest ./scripts/sniffer-tls13-ecc.pcap ./certs/statickeys/ecc-secp256r1.pem 127.0.0.1 11111
121+ ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-ecc.pcap -key ./certs/statickeys/ecc-secp256r1.pem -server 127.0.0.1 -port 11111
90122
91123 RESULT=$?
92124 [ $RESULT -ne 0 ] && echo -e " \nsnifftest TLS v1.3 ECC failed\n" && exit 1
95127# TLS v1.3 sniffer test DH
96128if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_dh == yes
97129then
98- ./sslSniffer/sslSnifferTest/snifftest ./scripts/sniffer-tls13-dh.pcap ./certs/statickeys/dh-ffdhe2048.pem 127.0.0.1 11111
130+ ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-dh.pcap -key ./certs/statickeys/dh-ffdhe2048.pem -server 127.0.0.1 -port 11111
99131
100132 RESULT=$?
101133 [ $RESULT -ne 0 ] && echo -e " \nsnifftest TLS v1.3 DH failed\n" && exit 1
104136# TLS v1.3 sniffer test X25519
105137if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_x25519 == yes
106138then
107- ./sslSniffer/sslSnifferTest/snifftest ./scripts/sniffer-tls13-x25519.pcap ./certs/statickeys/x25519.pem 127.0.0.1 11111
139+ ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-x25519.pcap -key ./certs/statickeys/x25519.pem -server 127.0.0.1 -port 11111
108140
109141 RESULT=$?
110142 [ $RESULT -ne 0 ] && echo -e " \nsnifftest TLS v1.3 X25519 failed\n" && exit 1
113145# TLS v1.3 sniffer test ECC resumption
114146if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_ecc == yes && test $session_ticket == yes
115147then
116- ./sslSniffer/sslSnifferTest/snifftest ./scripts/sniffer-tls13-ecc-resume.pcap ./certs/statickeys/ecc-secp256r1.pem 127.0.0.1 11111
148+ ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-ecc-resume.pcap -key ./certs/statickeys/ecc-secp256r1.pem -server 127.0.0.1 -port 11111
117149
118150 RESULT=$?
119151 [ $RESULT -ne 0 ] && echo -e " \nsnifftest TLS v1.3 ECC failed\n" && exit 1
122154# TLS v1.3 sniffer test DH
123155if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_dh == yes && test $session_ticket == yes
124156then
125- ./sslSniffer/sslSnifferTest/snifftest ./scripts/sniffer-tls13-dh-resume.pcap ./certs/statickeys/dh-ffdhe2048.pem 127.0.0.1 11111
157+ ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-dh-resume.pcap -key ./certs/statickeys/dh-ffdhe2048.pem -server 127.0.0.1 -port 11111
126158
127159 RESULT=$?
128160 [ $RESULT -ne 0 ] && echo -e " \nsnifftest TLS v1.3 DH failed\n" && exit 1
131163# TLS v1.3 sniffer test X25519
132164if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_x25519 == yes && test $session_ticket == yes
133165then
134- ./sslSniffer/sslSnifferTest/snifftest ./scripts/sniffer-tls13-x25519-resume.pcap ./certs/statickeys/x25519.pem 127.0.0.1 11111
166+ ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-x25519-resume.pcap -key ./certs/statickeys/x25519.pem -server 127.0.0.1 -port 11111
135167
136168 RESULT=$?
137169 [ $RESULT -ne 0 ] && echo -e " \nsnifftest TLS v1.3 X25519 failed\n" && exit 1
140172# TLS v1.3 sniffer test hello_retry_request (HRR) with ECDHE
141173if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_ecc == yes
142174then
143- ./sslSniffer/sslSnifferTest/snifftest ./scripts/sniffer-tls13-hrr.pcap ./certs/statickeys/ecc-secp256r1.pem 127.0.0.1 11111
175+ ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-hrr.pcap -key ./certs/statickeys/ecc-secp256r1.pem -server 127.0.0.1 -port 11111
144176
145177 RESULT=$?
146178 [ $RESULT -ne 0 ] && echo -e " \nsnifftest TLS v1.3 HRR failed\n" && exit 1
147179fi
148180
149181echo -e " \nSuccess!\n"
150-
151182exit 0
0 commit comments