Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSam Roberts <vieuxtech@gmail.com>2019-10-22 06:44:20 +0300
committerMyles Borins <mylesborins@google.com>2019-11-21 08:29:29 +0300
commit01fa18c99cd076bb29b6f3bf3085319dcb4e4d95 (patch)
treea5bbe78ab480ca4afc6fdad3c8450289fc29072f /src
parentf15a3b02816513b7a0b32a39b99cd0138b699f99 (diff)
tls: cli option to enable TLS key logging to file
Debugging HTTPS or TLS connections from a Node.js app with (for example) Wireshark is unreasonably difficult without the ability to get the TLS key log. In theory, the application can be modified to use the `'keylog'` event directly, but for complex apps, or apps that define there own HTTPS Agent (like npm), this is unreasonably difficult. Use of the option triggers a warning to be emitted so the user is clearly notified of what is happening and its effect. PR-URL: https://github.com/nodejs/node/pull/30055 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/node_options.cc4
-rw-r--r--src/node_options.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/src/node_options.cc b/src/node_options.cc
index 85256a7e0a8..0bc6730156c 100644
--- a/src/node_options.cc
+++ b/src/node_options.cc
@@ -506,6 +506,10 @@ EnvironmentOptionsParser::EnvironmentOptionsParser() {
AddOption("--napi-modules", "", NoOp{}, kAllowedInEnvironment);
+ AddOption("--tls-keylog",
+ "log TLS decryption keys to named file for traffic analysis",
+ &EnvironmentOptions::tls_keylog, kAllowedInEnvironment);
+
AddOption("--tls-min-v1.0",
"set default TLS minimum to TLSv1.0 (default: TLSv1.2)",
&EnvironmentOptions::tls_min_v1_0,
diff --git a/src/node_options.h b/src/node_options.h
index 30a976f48d5..ce0cee5fe56 100644
--- a/src/node_options.h
+++ b/src/node_options.h
@@ -161,6 +161,7 @@ class EnvironmentOptions : public Options {
bool tls_min_v1_3 = false;
bool tls_max_v1_2 = false;
bool tls_max_v1_3 = false;
+ std::string tls_keylog;
std::vector<std::string> preload_modules;