From 5f9a52dc951b9358da9ea7a91a47b3c3f83461e8 Mon Sep 17 00:00:00 2001 From: Kevin Grigorenko Date: Wed, 3 Jun 2015 14:42:51 -0500 Subject: [PATCH] SSL: Add support for private key password when decrypting SSL traffic from tshark with -o ssl.keys_list. For example, as used in a new test also added in this commit: -o "ssl.keys_list: 127.0.0.1,9131,http,$TEST_KEYS_DIR/key.p12,WebAS" Change-Id: Ia6960fa4ae88182277f6d22d84ec9170ea74d54e Reviewed-on: https://code.wireshark.org/review/8746 Reviewed-by: Alexis La Goutte --- epan/dissectors/packet-ssl.c | 7 ++++--- test/captures/dmgr.pcapng | Bin 0 -> 20452 bytes test/keys/key.p12 | Bin 0 -> 3842 bytes test/suite-decryption.sh | 15 +++++++++++++++ 4 files changed, 19 insertions(+), 3 deletions(-) create mode 100755 test/captures/dmgr.pcapng create mode 100755 test/keys/key.p12 diff --git a/epan/dissectors/packet-ssl.c b/epan/dissectors/packet-ssl.c index ad14ca4340..d827db4ef9 100644 --- a/epan/dissectors/packet-ssl.c +++ b/epan/dissectors/packet-ssl.c @@ -413,10 +413,11 @@ ssl_parse_old_keys(void) if (ssldecrypt_uat && ssl_keys_list && ssl_keys_list[0]) { old_keys = wmem_strsplit(NULL, ssl_keys_list, ";", 0); for (i = 0; old_keys[i] != NULL; i++) { - parts = wmem_strsplit(NULL, old_keys[i], ",", 4); + parts = wmem_strsplit(NULL, old_keys[i], ",", 5); if (parts[0] && parts[1] && parts[2] && parts[3]) { - uat_entry = wmem_strdup_printf(NULL, "\"%s\",\"%s\",\"%s\",\"%s\",\"\"", - parts[0], parts[1], parts[2], parts[3]); + const gchar *password = parts[4] ? parts[4] : ""; + uat_entry = wmem_strdup_printf(NULL, "\"%s\",\"%s\",\"%s\",\"%s\",\"%s\"", + parts[0], parts[1], parts[2], parts[3], password); if (!uat_load_str(ssldecrypt_uat, uat_entry, &err)) { ssl_debug_printf("ssl_parse_old_keys: Can't load UAT string %s: %s\n", uat_entry, err); diff --git a/test/captures/dmgr.pcapng b/test/captures/dmgr.pcapng new file mode 100755 index 0000000000000000000000000000000000000000..10eb29d4b804bfb80ad4b1612ea01adc0fdb1dca GIT binary patch literal 20452 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 BA&&q6 literal 0 HcmV?d00001 diff --git a/test/keys/key.p12 b/test/keys/key.p12 new file mode 100755 index 0000000000000000000000000000000000000000..43a66ddf9e756cef04e6ff7b337cd4dd846c1352 GIT binary patch literal 3842 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 E0i8Zc?f?J) literal 0 HcmV?d00001 diff --git a/test/suite-decryption.sh b/test/suite-decryption.sh index 936dbef244..880899538b 100755 --- a/test/suite-decryption.sh +++ b/test/suite-decryption.sh @@ -119,6 +119,20 @@ decryption_step_ssl() { test_step_ok } +# SSL, using the server's private key with password +decryption_step_ssl_with_password() { + $TESTS_DIR/run_and_catch_crashes env $TS_DC_ENV $TSHARK $TS_DC_ARGS -Tfields -e http.request.uri \ + -o "ssl.keys_list: 127.0.0.1,9131,http,$TEST_KEYS_DIR/key.p12,WebAS" \ + -r "$CAPTURE_DIR/dmgr.pcapng" -Y http \ + | grep unsecureLogon.jsp > /dev/null 2>&1 + RETURNVALUE=$? + if [ ! $RETURNVALUE -eq $EXIT_OK ]; then + test_step_failed "Failed to decrypt SSL using the server's private key with password" + return + fi + test_step_ok +} + # SSL, using the master secret decryption_step_ssl_master_secret() { $TESTS_DIR/run_and_catch_crashes env $TS_DC_ENV $TSHARK $TS_DC_ARGS -Tfields -e http.request.uri \ @@ -233,6 +247,7 @@ tshark_decryption_suite() { test_step_add "IEEE 802.11 WPA EAP Decryption" decryption_step_80211_wpa_eap test_step_add "DTLS Decryption" decryption_step_dtls test_step_add "SSL Decryption (private key)" decryption_step_ssl + test_step_add "SSL Decryption (private key with password)" decryption_step_ssl_with_password test_step_add "SSL Decryption (master secret)" decryption_step_ssl_master_secret test_step_add "ZigBee Decryption" decryption_step_zigbee test_step_add "ANSI C12.22 Decryption" decryption_step_c1222