@@ -59,15 +59,21 @@ 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
6571
6672# TLS v1.2 Static RSA Test
6773if test $RESULT -eq 0 && test $has_rsa == yes && test $has_tlsv12 == yes && test $has_static_rsa == yes
6874then
69- 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
75+ echo -e " \nStaring snifftest on sniffer-static-rsa .pcap...\n"
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 below, 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+ echo -e " \nStaring snifftest on sniffer-tls12-keylog.pcap...\n"
98+
99+ TMPFILE=$( mktemp)
100+ RESULT=$?
101+ [ $RESULT -ne 0 ] && echo -e " \nsnifftest keylog test failed: unable to create tmpfile\n" && rm $TMPFILE && exit 1
102+
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
107+
108+ RESULT=$?
109+ [ $RESULT -ne 0 ] && echo -e " \nsnifftest keylog test failed: snifftest returned $RESULT \n" && rm $TMPFILE && exit 1
110+
111+ # sed '1d' strips out first line, which contains wolfSSL version
112+ sed ' 1d' $TMPFILE | diff - <( sed ' 1d' scripts/sniffer-tls12-keylog.out)
113+
114+ RESULT=$?
115+ [ $RESULT -ne 0 ] && echo -e " \nsnifftest keylog test failed: snifftest diff returned $RESULT \n" && rm $TMPFILE && exit 1
116+
117+ rm $TMPFILE
118+ fi
119+
86120# TLS v1.3 sniffer test ECC
87121if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_ecc == yes
88122then
89- ./sslSniffer/sslSnifferTest/snifftest ./scripts/sniffer-tls13-ecc.pcap ./certs/statickeys/ecc-secp256r1.pem 127.0.0.1 11111
123+ echo -e " \nStaring snifftest on sniffer-tls13-ecc.pcap...\n"
124+ ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-ecc.pcap -key ./certs/statickeys/ecc-secp256r1.pem -server 127.0.0.1 -port 11111
90125
91126 RESULT=$?
92127 [ $RESULT -ne 0 ] && echo -e " \nsnifftest TLS v1.3 ECC failed\n" && exit 1
95130# TLS v1.3 sniffer test DH
96131if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_dh == yes
97132then
98- ./sslSniffer/sslSnifferTest/snifftest ./scripts/sniffer-tls13-dh.pcap ./certs/statickeys/dh-ffdhe2048.pem 127.0.0.1 11111
133+ echo -e " \nStaring snifftest on sniffer-tls13-dh.pcap...\n"
134+ ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-dh.pcap -key ./certs/statickeys/dh-ffdhe2048.pem -server 127.0.0.1 -port 11111
99135
100136 RESULT=$?
101137 [ $RESULT -ne 0 ] && echo -e " \nsnifftest TLS v1.3 DH failed\n" && exit 1
104140# TLS v1.3 sniffer test X25519
105141if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_x25519 == yes
106142then
107- ./sslSniffer/sslSnifferTest/snifftest ./scripts/sniffer-tls13-x25519.pcap ./certs/statickeys/x25519.pem 127.0.0.1 11111
143+ echo -e " \nStaring snifftest on sniffer-tls13-x25519.pcap...\n"
144+ ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-x25519.pcap -key ./certs/statickeys/x25519.pem -server 127.0.0.1 -port 11111
108145
109146 RESULT=$?
110147 [ $RESULT -ne 0 ] && echo -e " \nsnifftest TLS v1.3 X25519 failed\n" && exit 1
113150# TLS v1.3 sniffer test ECC resumption
114151if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_ecc == yes && test $session_ticket == yes
115152then
116- ./sslSniffer/sslSnifferTest/snifftest ./scripts/sniffer-tls13-ecc-resume.pcap ./certs/statickeys/ecc-secp256r1.pem 127.0.0.1 11111
153+ echo -e " \nStaring snifftest on sniffer-tls13-ecc-resume.pcap...\n"
154+ ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-ecc-resume.pcap -key ./certs/statickeys/ecc-secp256r1.pem -server 127.0.0.1 -port 11111
117155
118156 RESULT=$?
119157 [ $RESULT -ne 0 ] && echo -e " \nsnifftest TLS v1.3 ECC failed\n" && exit 1
122160# TLS v1.3 sniffer test DH
123161if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_dh == yes && test $session_ticket == yes
124162then
125- ./sslSniffer/sslSnifferTest/snifftest ./scripts/sniffer-tls13-dh-resume.pcap ./certs/statickeys/dh-ffdhe2048.pem 127.0.0.1 11111
163+ echo -e " \nStaring snifftest on sniffer-tls13-dh-resume.pcap...\n"
164+ ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-dh-resume.pcap -key ./certs/statickeys/dh-ffdhe2048.pem -server 127.0.0.1 -port 11111
126165
127166 RESULT=$?
128167 [ $RESULT -ne 0 ] && echo -e " \nsnifftest TLS v1.3 DH failed\n" && exit 1
131170# TLS v1.3 sniffer test X25519
132171if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_x25519 == yes && test $session_ticket == yes
133172then
134- ./sslSniffer/sslSnifferTest/snifftest ./scripts/sniffer-tls13-x25519-resume.pcap ./certs/statickeys/x25519.pem 127.0.0.1 11111
173+ echo -e " \nStaring snifftest on sniffer-tls13-x25519-resume.pcap...\n"
174+ ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-x25519-resume.pcap -key ./certs/statickeys/x25519.pem -server 127.0.0.1 -port 11111
135175
136176 RESULT=$?
137177 [ $RESULT -ne 0 ] && echo -e " \nsnifftest TLS v1.3 X25519 failed\n" && exit 1
140180# TLS v1.3 sniffer test hello_retry_request (HRR) with ECDHE
141181if test $RESULT -eq 0 && test $has_tlsv13 == yes && test $has_ecc == yes
142182then
143- ./sslSniffer/sslSnifferTest/snifftest ./scripts/sniffer-tls13-hrr.pcap ./certs/statickeys/ecc-secp256r1.pem 127.0.0.1 11111
183+ echo -e " \nStaring snifftest on sniffer-tls13-hrr.pcap...\n"
184+ ./sslSniffer/sslSnifferTest/snifftest -pcap ./scripts/sniffer-tls13-hrr.pcap -key ./certs/statickeys/ecc-secp256r1.pem -server 127.0.0.1 -port 11111
144185
145186 RESULT=$?
146187 [ $RESULT -ne 0 ] && echo -e " \nsnifftest TLS v1.3 HRR failed\n" && exit 1
147188fi
148189
149190echo -e " \nSuccess!\n"
150-
151191exit 0
0 commit comments