@@ -72,7 +72,7 @@ RESULT=0
7272# TLS v1.2 Static RSA Test
7373if test $RESULT -eq 0 && test $has_rsa == yes && test $has_tlsv12 == yes && test $has_static_rsa == yes
7474then
75- echo -e " \nStaring snifftest on sniffer-static-rsa.pcap...\n"
75+ echo -e " \nStarting snifftest on sniffer-static-rsa.pcap...\n"
7676 ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-static-rsa.pcap -key ./certs/server-key.pem -server 127.0.0.1 -port 11111
7777
7878 RESULT=$?
8282# TLS v1.2 Static RSA Test (IPv6)
8383if test $RESULT -eq 0 && test $has_rsa == yes && test $has_tlsv12 == yes && test $has_static_rsa == yes
8484then
85- echo -e " \nStaring snifftest on sniffer-ipv6.pcap...\n"
85+ echo -e " \nStarting snifftest on sniffer-ipv6.pcap...\n"
8686 ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-ipv6.pcap -key ./certs/server-key.pem -server ::1 -port 11111
8787
8888 RESULT=$?
8989 [ $RESULT -ne 0 ] && echo -e " \nsnifftest (ipv6) failed\n" && exit 1
9090fi
9191
92- # TLS v1.2 sniffer keylog file test: runs sniffer on pcap and associated keylog file and compares decrypted traffic with known good output.
92+ # TLS v1.2 and v1.3 sniffer keylog file test: runs sniffer on pcap and associated keylog file and compares decrypted traffic with known good output.
9393# To regenerate the known good output, run `scripts/sniffer-gen.sh` to regenerate the pcap and keylog file, then run the sniffer on it
9494# with the same arguments as in the test below, but redirect output to `./scripts/sniffer-tls12-keylog.out`.
95- if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $ has_keylog == yes
95+ if test $RESULT -eq 0 && test $has_keylog == yes
9696then
97- echo -e " \nStaring snifftest on sniffer-tls12-keylog.pcap...\n"
97+ for tlsver in tls12 tls13
98+ do
99+ # skip tls versions we don't have compiled-in support for
100+ [[ $tlsver == " tls12" && $has_tlsv12 == " no" ]] && continue
101+ [[ $tlsver == " tls13" && $has_tlsv13 == " no" ]] && continue
98102
99- TMPFILE=$( mktemp)
100- RESULT=$?
101- [ $RESULT -ne 0 ] && echo -e " \nsnifftest keylog test failed: unable to create tmpfile\n" && rm $TMPFILE && exit 1
103+ echo -e " \nStarting snifftest on sniffer-$tlsver -keylog.pcap...\n"
102104
103- ./sslSniffer/sslSnifferTest/snifftest \
104- -pcap scripts/sniffer-tls12-keylog.pcap \
105- -keylogfile scripts/sniffer-tls12-keylog.sslkeylog \
106- -server 127.0.0.1 -port 11111 > $TMPFILE
105+ TMPFILE=$( mktemp)
106+ RESULT=$?
107+ [ $RESULT -ne 0 ] && echo -e " \n$tlsver snifftest keylog test failed: unable to create tmpfile\n" && rm $TMPFILE && exit 1
107108
108- RESULT=$?
109- [ $RESULT -ne 0 ] && echo -e " \nsnifftest keylog test failed: snifftest returned $RESULT \n" && rm $TMPFILE && exit 1
109+ ./sslSniffer/sslSnifferTest/snifftest \
110+ -pcap scripts/sniffer-$tlsver -keylog.pcap \
111+ -keylogfile scripts/sniffer-$tlsver -keylog.sslkeylog \
112+ -server 127.0.0.1 -port 11111 | tee $TMPFILE
110113
111- # sed '1d' strips out first line, which contains wolfSSL version
112- sed ' 1d ' $TMPFILE | diff - <( sed ' 1d ' scripts/sniffer-tls12- keylog.out )
114+ RESULT= $?
115+ [ $RESULT -ne 0 ] && echo -e " \n $tlsver snifftest keylog test failed: snifftest returned $RESULT \n " && rm $TMPFILE && exit 1
113116
114- RESULT=$?
115- [ $RESULT -ne 0 ] && echo -e " \nsnifftest keylog test failed: snifftest diff returned $RESULT \n" && rm $TMPFILE && exit 1
117+ # use grep to only compare against decrypted output
118+ SEARCH_STRING=" SSL App Data"
119+ grep " $SEARCH_STRING " $TMPFILE | diff - <( grep " $SEARCH_STRING " scripts/sniffer-$tlsver -keylog.out)
120+
121+ RESULT=$?
122+ [ $RESULT -ne 0 ] && echo -e " \n$tlsver snifftest keylog test failed: snifftest diff returned $RESULT \n" && rm $TMPFILE && exit 1
116123
117- rm $TMPFILE
124+ rm $TMPFILE
125+ done
118126fi
119127
120128# TLS v1.3 sniffer test ECC
121129if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_ecc == yes
122130then
123- echo -e " \nStaring snifftest on sniffer-tls13-ecc.pcap...\n"
131+ echo -e " \nStarting snifftest on sniffer-tls13-ecc.pcap...\n"
124132 ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-ecc.pcap -key ./certs/statickeys/ecc-secp256r1.pem -server 127.0.0.1 -port 11111
125133
126134 RESULT=$?
130138# TLS v1.3 sniffer test DH
131139if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_dh == yes
132140then
133- echo -e " \nStaring snifftest on sniffer-tls13-dh.pcap...\n"
141+ echo -e " \nStarting snifftest on sniffer-tls13-dh.pcap...\n"
134142 ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-dh.pcap -key ./certs/statickeys/dh-ffdhe2048.pem -server 127.0.0.1 -port 11111
135143
136144 RESULT=$?
140148# TLS v1.3 sniffer test X25519
141149if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_x25519 == yes
142150then
143- echo -e " \nStaring snifftest on sniffer-tls13-x25519.pcap...\n"
151+ echo -e " \nStarting snifftest on sniffer-tls13-x25519.pcap...\n"
144152 ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-x25519.pcap -key ./certs/statickeys/x25519.pem -server 127.0.0.1 -port 11111
145153
146154 RESULT=$?
150158# TLS v1.3 sniffer test ECC resumption
151159if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_ecc == yes && test $session_ticket == yes
152160then
153- echo -e " \nStaring snifftest on sniffer-tls13-ecc-resume.pcap...\n"
161+ echo -e " \nStarting snifftest on sniffer-tls13-ecc-resume.pcap...\n"
154162 ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-ecc-resume.pcap -key ./certs/statickeys/ecc-secp256r1.pem -server 127.0.0.1 -port 11111
155163
156164 RESULT=$?
160168# TLS v1.3 sniffer test DH
161169if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_dh == yes && test $session_ticket == yes
162170then
163- echo -e " \nStaring snifftest on sniffer-tls13-dh-resume.pcap...\n"
171+ echo -e " \nStarting snifftest on sniffer-tls13-dh-resume.pcap...\n"
164172 ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-dh-resume.pcap -key ./certs/statickeys/dh-ffdhe2048.pem -server 127.0.0.1 -port 11111
165173
166174 RESULT=$?
170178# TLS v1.3 sniffer test X25519
171179if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_x25519 == yes && test $session_ticket == yes
172180then
173- echo -e " \nStaring snifftest on sniffer-tls13-x25519-resume.pcap...\n"
181+ echo -e " \nStarting snifftest on sniffer-tls13-x25519-resume.pcap...\n"
174182 ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-x25519-resume.pcap -key ./certs/statickeys/x25519.pem -server 127.0.0.1 -port 11111
175183
176184 RESULT=$?
180188# TLS v1.3 sniffer test hello_retry_request (HRR) with ECDHE
181189if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_ecc == yes
182190then
183- echo -e " \nStaring snifftest on sniffer-tls13-hrr.pcap...\n"
191+ echo -e " \nStarting snifftest on sniffer-tls13-hrr.pcap...\n"
184192 ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-hrr.pcap -key ./certs/statickeys/ecc-secp256r1.pem -server 127.0.0.1 -port 11111
185193
186194 RESULT=$?
0 commit comments