diff options
author | Sam Roberts <vieuxtech@gmail.com> | 2019-10-21 20:44:20 -0700 |
---|---|---|
committer | Sam Roberts <vieuxtech@gmail.com> | 2019-11-20 08:00:02 -0800 |
commit | 80efb80f3f9dffb412aa1a41ab36c843c90c60e5 (patch) | |
tree | 79e7db50520582e1c5c9a33b49265333b4a10287 /src | |
parent | f4ea9189501743797d1ab8f5ed07027dd71f59bd (diff) | |
download | android-node-v8-80efb80f3f9dffb412aa1a41ab36c843c90c60e5.tar.gz android-node-v8-80efb80f3f9dffb412aa1a41ab36c843c90c60e5.tar.bz2 android-node-v8-80efb80f3f9dffb412aa1a41ab36c843c90c60e5.zip |
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.cc | 4 | ||||
-rw-r--r-- | src/node_options.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/node_options.cc b/src/node_options.cc index 85256a7e0a..0bc6730156 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 30a976f48d..ce0cee5fe5 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; |